Выборочная проверка JQuery - PullRequest
2 голосов
/ 05 апреля 2010

Я использую JQuery Validation для проверки определенного текстового поля в моей форме. Текстовое поле является необязательным разделом website, в котором используется метод проверки url. Это работает нормально и проверяет соответственно. Я хотел бы иметь предустановку http:// в текстовое поле, чтобы избавить пользователя от необходимости набирать его. Однако, когда текст задан, средство проверки становится «активным» и запрещает что-либо в отправляемой форме, пока либо http:// не будет удалено вручную, либо не будет введен действительный веб-сайт. Есть ли способ вставки текста в текстовое поле, который не заставит валидатор начать валидацию?

Я пытался использовать

$("[id$='tbWebsite']").val("http://");

как раз перед тем, как я позвоню form.validate(), но это не работает (т. Е. Все равно проверяется).

Я никогда раньше не использовал JQuery Validator, так что, надеюсь, есть исправление, которого мне не хватает!

Альтернативным решением для моего случая, в частности, может быть активация валидатора, если нажата определенная кнопка (вместо любой кнопки в форме). Это было бы возможно?

Спасибо

Обновление

Я добавил это в текстовое объявление:

onfocus="if(this.value == 'http://' || this.value == '')this.value='http://'" onblur="if(this.value == 'http://')this.value=''" 

Это решает основную проблему. Однако, если пользователь щелкает текстовое поле, а затем удаляет его, сообщение об ошибке по-прежнему отображается (даже если оно не применяется и форму можно отправить). Как лучше всего убедиться, что сообщение об ошибке вообще не отображается, если значение равно «http://'?

»

1 Ответ

1 голос
/ 05 апреля 2010

Вставляйте префикс только тогда, когда пользователь выделяет текстовое поле пусто , и удаляйте его, если текстовое поле теряет фокус только с префиксом

...