Отправить форму HTML 5 с AJAX? - PullRequest
5 голосов
/ 07 мая 2011

У меня возникли проблемы с отправкой формы с помощью ajax.

Поскольку в HTML5-форме уже есть «обязательная» проверка во входном теге, проверка проверки JavaScript не требуется. Однако из-за этого я не знаю, как использовать javascript (jQUERY) для отправки формы ПОСЛЕ того, как проверки были пройдены. Другими словами, как мне узнать, пройдены ли проверочные проверки или нет?

например: ??состояние?? (Какое условие я должен поставить перед загрузкой отправленной страницы)? ( "Див"). Нагрузки (finishSubmittingForm.html) )};

Есть идеи?

Спасибо

Ответы [ 2 ]

3 голосов
/ 07 мая 2011

Доступно несколько методов API. См. developer.mozilla.org .

Однако я настоятельно рекомендую вам внимательно подумать, прежде чем полагаться на проверку HTML5. У него определенно есть некоторые серьезные недостатки на данный момент, так как он все еще находится "в зачаточном состоянии". Я бы сказал, что сейчас вам лучше использовать библиотеку проверки JS; Проверка jQuery отлично.

2 голосов
/ 07 мая 2011

из спецификации:

Если пользователь нажимает кнопку отправки. Браузер должен сначала проверить форму, и если форма действительна, происходит событие отправки.

Это означает, что вы можете просто подключиться к событию отправки формы и запустить свой ajax.

$('form').bind('submit', function(){
    //Ajax implementation here
});

Но у Opera очень неприятная ошибка. Opera сначала запускает событие submit, а затем проверяет форму.

Вы можете обойти это, используя методы проверки HTML5. Это будет выглядеть так:

$('form').bind('submit', function(){
    if(!this.checkValidity || this.checkValidity()){
        //Ajax implementation here
    }
});

О текущем состоянии спецификации формы HTML5. Есть несколько частей, которые должны расширить форму спецификации. Функции, которые в настоящее время реализованы в FF4 и других (FF4 имеет меньше формальных функций, чем Opera и Chrome, но очень хорошая реализация), достаточно стабильны для производства.

Если вы хотите использовать формы HTML5 во всех браузерах, я бы предложил веб-форму HTML5 polyfill . Он не только заполняет неиспользуемые браузеры, но и исправляет некоторые ошибки в браузерах, которые не реализовали функцию формы в соответствии со спецификацией. Например, ошибка Opera, упомянутая выше, будет автоматически исправлена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...