У меня есть следующий фрагмент кода 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" />
Поэтому мне нужно показать значение по умолчанию в поле ввода сразу после того, как пользователь удалил содержимое в поле и удалил фокус из поля.
Все ли понимают, в чем моя проблема?В противном случае просто спросите, я боролся с этим уже несколько раз, поэтому любая помощь будет принята с благодарностью.
Заранее спасибо, Ким Андерсен