У меня есть следующий фрагмент кода jQuery:
$(".SearchForm input:text").each(function(){
/* Sets the current value as the defaultvalue attribute */
if(allowedDefaults.indexOf($(this).val()) > 0 || $(this).val() == "")
{
$(this).attr("defaultvalue", $(this).val());
$(this).css("color","#9d9d9d");
/* Onfocus, if default value clear the field */
$(this).focus(function(){
if($(this).val() == $(this).attr("defaultvalue"))
{
$(this).val("");
$(this).css("color","#4c4c4c");
}
});
/* Onblur, if empty, insert defaultvalue */
$(this).blur(function(){
alert("ud");
if($(this).val() == "")
{
$(this).val($(this).attr("defaultvalue"));
$(this).css("color","#9d9d9d");
}else
{
$(this).removeClass("ignore");
}
});
}
});
Я использую этот код, чтобы вставить некоторый текст по умолчанию в некоторые из моих полей ввода, когда больше ничего не вводится. Это означает, что когда пользователь видит мою форму поиска, значения по умолчанию будут установлены как атрибут в поле ввода, и это будет отображаемое значение. Когда пользователь щелкает внутри поля ввода, значение по умолчанию будет удалено.
Когда пользователь сначала видит поле ввода, оно выглядит так:
<input type="text" value="" defaultvalue="From" />
Это прекрасно работает, но у меня есть большая проблема. Если пользователь разместил форму и что-то вводится в одно из полей, то я не могу показать значение по умолчанию в поле, если пользователь удаляет текст из поля ввода. Это происходит потому, что значение текстового поля все еще содержит что-то, даже когда пользователь удаляет содержимое. Итак, моя проблема заключается в том, как показать значение по умолчанию при отправке формы, а затем пользователь удаляет введенный контент?
Когда форма отправляется, ввод выглядит следующим образом и продолжает выглядеть так до тех пор, пока форма не будет отправлена снова:
<input type="text" value="someValue" defaultvalue="From" />
Поэтому мне нужно показать значение по умолчанию в поле ввода сразу после того, как пользователь удалил содержимое в поле и удалил фокус из поля.
Все ли понимают, в чем моя проблема? В противном случае просто спросите, я уже несколько раз боролся с этим, поэтому любая помощь будет принята с благодарностью.
Заранее спасибо, Ким Андерсен