Spruce up your Drupal search box for Safari users (Updated for Drupal 6)

My favourite browser Safari has support for a snazzy custom input field type called "search". This gives the field a rounded look and the ability to remember search history (amongst other things). The major drawback is of course that the HTML will no longer validate since this feature isn't part of the official spec.

In order get around this problem I whipped up a jQuery snippet that dynamically changes the Drupal search input field to a Safari search field if the visitor uses Safari. You can see it in action in the right sidebar on this site.

This goes into template.php:

drupal_add_js(path_to_theme() .'/fancysearch.js', 'theme');

This goes into fancysearch.js in your theme folder:

Drupal.behaviors.fancySearch = function(context) {
  if (jQuery.browser.safari) {
    // jQuery 1.2.x doesn't support type alteration.
    var input = document.getElementById('edit-search-block-form-1');
    input.type = 'search';
    $('#edit-search-block-form-1').attr({ 
              autosave: 'net.henriksjokvist.search',
              results: '9',
            });
    $('#block-search-0 :submit').hide();
  }
};

You will probably need to change the ids #block-search-0 (the form's containing div) and #edit-search-block-form-1 (the id of the input field) to whatever ids your theme uses. autosave is the name under which the search history is stored and should be unique for your site, results is the number of past searches to remember and placeholder is the placeholder text inside the field.

Comments

Mille grazie!!

Thanks so much for this tip, the problem was fix it inmediatly.
poker online

Thank you very much for the excellent and useful subject. Türkiyenin en iyi alışveriş sitesi. internette ucuz alışveriş yapabilme imkanı sağlar kadınlar için bayan giyim kategorisi altında yüzlerce ürün barındırır. Beyler için erkek giyim kategorisi içinde 100lerce giyim ürünü satılmaktadır. Ateşli geceler için fantazi giyim kategorisi altında cinsel hayatınızı daha sıcak ve daha sehvetli bir sekilde yasamaniz icin 100lerce ürün barındırmaktadır.! Evde beslemekte olduğumuz hayvalar için pet shop ürünlerini mağazamızdan temin edinebilirsiniz. Ucuz fiyatı ile cebinize dost outlet ürünlerimizle sizleri ucuz alışverişe davet ediyoruz. ha bide unutmadan iskenderun icinde lazim bogle bisi . en iyi haber sitesi budur. Otonuz için oto aksesuar burdan alınır.. Price of Raw Materials

saol baban

Post new comment

The content of this field is kept private and will not be shown publicly.
(I add rel="nofollow" to the link, so hold the spam)
No HTML allowed. Please use syntax to format content.