Jump to content
xt:Commerce Community Forum

Smarty Frage - Text "suche" in Suchfeld via JS


rethus

Recommended Posts

Mangels Erfahrung weiß ich nicht so recht, wie ich es in dem Suchfeld ermöglichen soll, dort ein onfocus und onblur hinzuzufügen, welches den String "Suchen...." darstellt, solange nichts eingegeben ist.

In dem Template für die Box habe ich nur folgendes gefunden:

<td class="searchfield_relaunch">{form type=text name=keywords}</td>

Was hat es mit dem {form...} auf sich und wie ergänze ich meinen JS Code?

Link to comment
Share on other sites

{form type=form name=search_box action='search' link_params=getParams method=get id='header-search'}

{form type=hidden name=page value=search}

{form type=hidden name=page_action value=query}

{form type=hidden name=desc value="on"}

{form type=hidden name=sdesc value="on"} <div>

<div id="header-search-field">{form type=text name=keywords autocomplete=off id='keywords' value='Suche'}</div>

<div>{button text=$smarty.const.BUTTON_QUICK_FIND file='button_quick_find.gif' type='form'}</div>

{form type=formend}

{literal}

<script language="JavaScript" type="text/javascript"><!--

var strSearchDefault = 'Suche';

var blnInSuggestion = false;

jQuery('#keywords').blur(function() {

if (jQuery(this).val() == '') jQuery(this).val(strSearchDefault);

if (jQuery(this).val() == '' || jQuery(this).val() == strSearchDefault || jQuery(this).val() != '')

jQuery('#suggestions').fadeOut();

});

jQuery('#keywords').focus(function() {

if (jQuery(this).val() == strSearchDefault) jQuery(this).val('');

if (jQuery(this).val() == '' || jQuery(this).val() == strSearchDefault || jQuery(this).val() != '')

jQuery('#suggestions').fadeIn();

});

jQuery('#keywords').keyup(function() {

var req = null;

if(jQuery(this).val().length > 2 && (jQuery(this).val() == '' || jQuery(this).val() == strSearchDefault || jQuery(this).val() != '')) {

if(req) req.abort();

req = jQuery.post("http://www.deinedomain.de/search.html", {keywords: ""+jQuery(this).val()+""}, function(data) {

jQuery('#suggestions').html(data);

req = null;

if(jQuery('#suggestions').is(':hidden')) jQuery('#suggestions').fadeIn();

});

} else {

if(!jQuery('#suggestions').is(':hidden')) jQuery('#suggestions').fadeOut();

}

});// -->

</script>{/literal}</div>

Link to comment
Share on other sites

ein bisschen viel Code für so eine kleine Angelegenheit :D

aber es geht ja auch kürzer !!!

{assign var=searchtxt value=$smarty.const.TEXT_SEARCH_TXT} 

{form type=text name=keywords value="$searchtxt" onfocus="if(this.value == '$searchtxt') this.value='';" onblur="if (this.value=='') this.value='$searchtxt';"}

TEXT_SEARCH_TXT im Admin anlegen dann funzt das auch mit Multilingual !

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...