On focus/blur search box funkar bara på vissa sidor :S

Events happening in the community are now at Drupal community events on www.drupal.org.
ChristianP's picture

Har ett problem.

Jag använder Drupals inbyggda sökfält. Så hittade jag en guide på internet om hur man fixar onfocus/blur event på den genom att gå in i template.php och skriva:

<?php
function blueprint_search_block_form($form) {
       
$form['search_block_form']['#value'] = t('Search');
  
   
$form['search_block_form']['#attributes'] = array('onblur' => "if (this.value == '') {this.value = 'Sök';}", 'onfocus' => "if (this.value == 'Sök') {this.value = '';}" );
  
    
$output .= drupal_render($form);
    return
$output;
}
?>

Då funkar det att klicka på texten i rutan "Sök" så den blir tom tills man klickar ur. Men det skumma är att den fungerar bara på 4 av 6 av mina sidor... :S Fattar ingenting, hur kan den göra så? Jag har jämfört med firebug på sidorna där det funkar och sidorna där det inte funkar, men attributen är den samma, dvs:

<input type="text" class="form-text" onfocus="" onblur="" value="Sök" size="15" id="edit-search-block-form-1" name="search_block_form" maxlength="128">

Jag har inga speciella page.tpl.php eller nåt som kan störa, har faktiskt ingen aning varför den beter sig såhär.

Comments

Placeholders…

NiklasBr's picture

Placeholders med hjälp av onfocus och onblur är svåra att få fungera bra över alla webbläsare. Och jag skulle föreslå att du med hjälp av drupal_add_js läser in javascript som inte ligger direkt i HTML-koden. Då kan du använda javascript som denna bit kod av Roger Johansson eller denna om du redan har jQuery laddad på sidan.

Till slut är det bara att vänta på att HTML5 blir spikat så du slipper krångliga lösningar som dessa. :)

--
fyrkantigt.se av Niklas Brunberg

JavaScript fil via

frjo's picture

JavaScript fil via drupal_add_js tror jag också är en bättre lösning.

Skrev lite om detta på min blog Spice up your Drupal 6 site search field with a bit of jQuery and CSS | xdeb.org

Tackar, ska kolla upp det! :)

ChristianP's picture

Tackar, ska kolla upp det! :)