При создании эквивалента заполнителя jquery я столкнулся с проблемой отправки формы. В настоящее время значение изменяется в фокусе/фокусе, но проблема, с которой я сталкиваюсь, - это поле can not be blank, но проверка формы читает значение по умолчанию в качестве значения, чтобы оно позволяло это. Я попытался сделать чек для submit() и onclick(). Onclick для кнопки отправки и отправьте для самой формы. Ничего не сработало. Мне нужно проверить, когда он отправлен, если значения являются значениями по умолчанию или нет. И если они есть, надеемся, сделайте так, чтобы он сделал значение пустым перед подачей. Таким образом, drupals, построенный в системе ошибок, будет запускать, а не строить мои собственные.JQuery эквивалент HTML-заполнителя
Текущий код для текста заполнителя.
if ($.browser.msie) {
// for name field
$('#edit-submitted-name').focus(function(){
if ($('#edit-submitted-name').val() == 'Name...') {
$(this).val('');
$(this).css('color', '#000');
}
});
$('#edit-submitted-name').focusout(function(){
if (!$('#edit-submitted-name').val()) {
$(this).val('Name...');
$(this).css('color', '#abadb3');
}
});
//for email address field
$('#edit-submitted-email-address').focus(function(){
if ($('#edit-submitted-email-address').val() == 'Email Address...') {
$(this).val('');
$(this).css('color', '#000');
}
});
$('#edit-submitted-email-address').focusout(function(){
if (!$('#edit-submitted-email-address').val()) {
$(this).val('Email Address...');
$(this).css('color', '#abadb3');
}
});
// for email field
$('#edit-submitted-email').focus(function(){
if ($('#edit-submitted-email').val() == 'Email...') {
$(this).val('');
$(this).css('color', '#000');
}
});
$('#edit-submitted-email').focusout(function(){
if (!$('#edit-submitted-email').val()) {
$(this).val('Email...');
$(this).css('color', '#abadb3');
}
});
$('#edit-submitted-name').val('Name...');
$('#edit-submitted-name').css('color', '#abadb3');
$('#edit-submitted-email-address').val('Email Address...');
$('#edit-submitted-email-address').css('color', '#abadb3');
$('#edit-submitted-email').val('Email...');
$('#edit-submitted-email').css('color', '#abadb3');
}
Это может быть хорошей идеей сделать этот код более общим. Вы создали конкретные решения для определенных полей. Это хорошо ... но что, если вы все еще использовали атрибут placeholder HTML5 для определения «Email», а затем с jQuery сделал что-то вроде ... $ («input [placeholder]»). Focus (...); чтобы поменять текст, когда вы сфокусировали любое поле, содержащее атрибут placeholder. Это значительно сократило бы количество кода, который у вас здесь есть. – Webnet