Jump to content
  • 0

Убрать OnClick


Simon_S.
 Share

Question

Здравствуйте. Подсобите, пожалуйста, в следующем:

как убрать onclick

	$r .= '<input type="button" class="enhanced_search_options_advanced_button" value="Search" onclick="esf_div=document.getElementById(\'' . $dom_id . '\');if(esf_div.style.display==\'none\') esf_div.style.display=\'block\';else esf_div.style.display=\'none\';document.getElementById(\'' . $dom_id . '_cat\').disabled=!document.getElementById(\'' . $dom_id . '_cat\').disabled;document.getElementById(\'' . $dom_id . '_m\').disabled=!document.getElementById(\'' . $dom_id . '_m\').disabled;esf_tag=document.getElementById(\'' . $dom_id . '_tag\');if(esf_tag) esf_tag.disabled=!esf_tag.disabled;return false;" />';

То бишь нужно, что бы элемент был виден всегда, а не только после нажатия на кнопку.

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0
Здравствуйте. Подсобите, пожалуйста, в следующем:

как убрать onclick

	$r .= '<input type="button" class="enhanced_search_options_advanced_button" value="Search" onclick="esf_div=document.getElementById(\'' . $dom_id . '\');if(esf_div.style.display==\'none\') esf_div.style.display=\'block\';else esf_div.style.display=\'none\';document.getElementById(\'' . $dom_id . '_cat\').disabled=!document.getElementById(\'' . $dom_id . '_cat\').disabled;document.getElementById(\'' . $dom_id . '_m\').disabled=!document.getElementById(\'' . $dom_id . '_m\').disabled;esf_tag=document.getElementById(\'' . $dom_id . '_tag\');if(esf_tag) esf_tag.disabled=!esf_tag.disabled;return false;" />';

То бишь нужно, что бы элемент был виден всегда, а не только после нажатия на кнопку.

Попробуй удалить весь JavaScript :D

Edited by 3d_max_9
Link to comment
Share on other sites

  • 0
А еще варианты будут?))

если речи идет о элементе $dom_id то уберите в его стиле свойство display: none; И соответственно весь JS, а вообще неплохо было бы увидеть весь код.

Link to comment
Share on other sites

  • 0

3d_max_9

уберите в его стиле свойство display: none;

Как ни странно, это я сделал первым делом. Не помогло. :D

И соответственно весь JS

Да я бы рад, но ничего не понимаю в JS, поэтому и спрашиваю совета.

неплохо было бы увидеть весь код

Как скажете:

<?php
add_filter('request', 'esf_set_array_var');
function esf_set_array_var($vars) {
if( empty($vars['s']) ) return $vars;

if( isset($vars['cat']) && strtolower($vars['cat']) == "array" ) unset($vars['cat']);
if( isset($vars['tag']) && strtolower($vars['tag']) == "array" ) unset($vars['tag']);

$cat = false;
if( is_array($_POST['cat']) )
$cat = array_map('intval', $_POST['cat']);
elseif( is_array($_GET['cat']) )
$cat = array_map('intval', $_GET['cat']);
if( $cat && !in_array(0, $cat) ) // o means all categories
$vars['cat'] = implode(',', $cat);

$tag = false;
//var_dump($_GET['tag']);die();
if( is_array($_POST['tag']) )
$tag = $_POST['tag'];
elseif( is_array($_GET['tag']) )
$tag = $_GET['tag'];
if( $tag && !in_array("", $tag) )
$vars['tag'] = implode(',', $tag);
return $vars;
}


add_filter('get_search_form', 'esf_search_form');
function esf_search_form($form) {
return preg_replace('/((<\/div\s*>\s*)?<\/form\s*>)/', esf_add_form_field(true) . '\\1', $form, 1);
}

function esf_add_form_field($return = false) {
$show_advanced_options_when_loading = is_search() //&& ( get_query_var('cat') || get_query_var('m') || get_query_var('tag') )
;
$dom_id = 'enhanced_search_options';

global $wpdb, $wp_locale;
$r = '';
$r .= '<input type="button" class="enhanced_search_options_advanced_button" value="Поиск вариантов" onclick="esf_div=document.getElementById(\'' . $dom_id . '\');if(esf_div.style.display==\'none\') esf_div.style.display=\'block\';else esf_div.style.display=\'none\';document.getElementById(\'' . $dom_id . '_cat\').disabled=!document.getElementById(\'' . $dom_id . '_cat\').disabled;document.getElementById(\'' . $dom_id . '_m\').disabled=!document.getElementById(\'' . $dom_id . '_m\').disabled;esf_tag=document.getElementById(\'' . $dom_id . '_tag\');if(esf_tag) esf_tag.disabled=!esf_tag.disabled;return false;" />';
$r .= '<div class="enhanced_search_options" id="' . $dom_id . '" style="display:' . ( $show_advanced_options_when_loading ? 'block' : 'none' ) . ';">';

//categories
/*
$cats = wp_dropdown_categories('hierarchical=1&echo=0&show_option_all=ALL');
if( !empty($cats) ) {
$r .= '<label for="' . $dom_id . '_cat">Search In Category: </label>';
$r .= str_replace("<select name='cat' id='cat'", "<select name='cat' id='" . $dom_id . "_cat'", $cats);
$r .= '<br />';
}
*/
$current_cats = (array) preg_split('/[,\s]+/', get_query_var('cat'));
$r .= '<label for="' . $dom_id . '_cat">Search In Category(s): </label>';
$r .= '<select id="' . $dom_id . '_cat" name="cat[]" value="" multiple="multiple" size="5"' . ( $show_advanced_options_when_loading ? '' : ' disabled="disabled"' ) . '>';
$cats = get_categories();
$r .= '<option value=""' . ( get_query_var('cat') ? '' : ' selected="selected"' ) . '>ALL</option>';
foreach($cats as $cat)
$r .= '<option value="' . $cat->term_id . '"' . ( in_array($cat->term_id, $current_cats) ? ' selected="selected"' : '' ) . '>' . $cat->name . '</option>';
$r .= '</select><br />';


// months, part of codes from Wordpress Core code
$query = "SELECT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, count(ID) as posts FROM $wpdb->posts $join $where GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date DESC ";
$key = md5($query);
$cache = wp_cache_get( 'wp_get_archives' , 'general');
if ( !isset( $cache[ $key ] ) ) {
$arcresults = $wpdb->get_results($query);
$cache[ $key ] = $arcresults;
wp_cache_add( 'wp_get_archives', $cache, 'general' );
} else {
$arcresults = $cache[ $key ];
}
if($arcresults) {
$r .= '<label for="' . $dom_id . '_m">Search In Month: </label>';
$r .= '<select id="' . $dom_id . '_m" name="m" value=""' . ( $show_advanced_options_when_loading ? '' : ' disabled="disabled"' ) . '>';
$r .= '<option value=""' . ( get_query_var('m') ? '' : ' selected="selected"' ) . '>ALL</option>';
foreach( (array)$arcresults as $arcresult ) {
if( $arcresult->year == 0 || $arcresult->month == 0 ) continue; //I don't know why, but sometimes happen, maybe a bug.
$text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year);
$r .= '<option value="' . $arcresult->year . zeroise($arcresult->month, 2) . '"' . ( get_query_var('m') == ( $arcresult->year . zeroise($arcresult->month, 2) ) ? ' selected="selected"' : '' ) . '>' . $text . '</option>';
}
$r .= '</select><br />';
}

//tags
$tags = get_terms('post_tag', array( 'number' => 45, 'orderby' => 'count', 'order' => 'DESC' ) );
$current_tags = (array) preg_split('/[,\s]+/', get_query_var('tag'));
if ( !empty( $tags ) ) {
$r .= '<label for="' . $dom_id . '_tag">Поиск: </label>';
$r .= '<select multiple="multiple" size="5" id="' . $dom_id . '_tag" name="tag[]" value=""' . ( $show_advanced_options_when_loading ? '' : ' disabled="disabled"' ) . '>';
$r .= '<option value=""' . ( get_query_var('tag') ? '' : ' selected="selected"' ) . '> All </option>';
$tags_slugs = array();
foreach ( $tags as $tag ) {
$r .= '<option value="' . urldecode($tag->slug) . '"' . ( in_array($tag->slug, $current_tags) ? ' selected="selected"' : '' ) . '>' . $tag->name . '</option>';
$tags_slugs[] = $tag->slug;
}
if( $current_tags ) { // current tag(s) should always be in search form tags list.
$tt = array();
foreach($current_tags as $ct)
if( $ct && !in_array($ct, $tags_slugs) )
$tt[] = $ct;
if( !empty($tt) )
foreach($tt as $key=>$t) {
$tx = get_term_by('slug', $t, 'post_tag');
$r .= '<option value="' . urldecode($tx->slug) . '" selected="selected">' . $tx->name . '</option>';
}
}
$r .= '</select>';
}

$r .= '</div>';
if($return)
return $r;
echo $r;
}

?>

Для ясности: это плагин к WP, вот тут про его чуток написано

Edited by s0rr0w
Link to comment
Share on other sites

  • 0
3d_max_9

Как ни странно, это я сделал первым делом. Не помогло. :D

Да я бы рад, но ничего не понимаю в JS, поэтому и спрашиваю совета.

Как скажете:

Для ясности: это плагин к WP, вот тут про его чуток написано

не могу врубится. :D

На форуме много сообразительных людей, подожди может что то нужное и посоветуют :D

Link to comment
Share on other sites

  • 0
Есть такая строка
Напиши ее так

Не, так форма оставалась открытой, но что бы она становилась активной, всё равно надо было жать кнопку.

Я добавил в css

.enhanced_search_options {display: block !important;}

и в коде все "disabled" заменил на "enabled"

И кусок изменил:

$r .= '<script Language="JavaScript">

esf_div=document.getElementById(\'' . $dom_id . '\');if(esf_div.style.display==\'none\') esf_div.style.display=\'block\';else esf_div.style.display=\'none\';document.getElementById(\'' . $dom_id . '_cat\').enabled=!document.getElementById(\'' . $dom_id . '_cat\').enabled;document.getElementById(\'' . $dom_id . '_m\').enabled=!document.getElementById(\'' . $dom_id . '_m\').enabled;esf_tag=document.getElementById(\'' . $dom_id . '_tag\');if(esf_tag) esf_tag.enabled=!esf_tag.enabled;return false; </Script>';

$r .= '<div class="enhanced_search_options" id="' . $dom_id . '" style="display:' . ( $show_advanced_options_when_loading ? 'block' : 'none' ) . ';">';

Заработало :D

Edited by Simon_S.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy