2013-10-09 3 views
8

У меня есть простая форма HTML5, которая не имеет <input type="submit">, потому что кнопка для отправки формы находится вне самой формы. В форме есть несколько входов, которые имеют набор свойств required="required".Функция jQuery submit не вызывает проверку html5

Кнопка вне формы, что я представлю имеет следующий код прилагается:

$('#upgrade_submit').click(function(){ 
    $('#cc-form-modal').submit(); 
    return false; 
}); 

Когда кнопка нажата, она не запускается нормальной проверки HTML5 на требуемых полях. Что я делаю не так? Есть ли способ проверить, действительна ли форма до «форсирования» отправки?

+0

Возможно, это может быть: http://stackoverflow.com/questions/11866910/how-to-force-a-html5-form-validation-without-submitting-it-via-javascript-jquery – Sergio

+1

@Sergio Это очень связано , Единственное улучшение, которое я сделал бы над принятым ответом, было бы, если бы я мог придумать решение, которое не требовало бы HTML5. – Icode4food

ответ

12

Я выполнил свою задачу, добавив скрытый представить элемент ввода, как это:

<input type="submit" class="submit" style="display:none;"> 

Я тогда атташе следующий код моего внешнего обработчика представить.

$('#upgrade_submit').click(function(){ 
    $('#cc-form-modal .submit').click(); 
    return false; 
}); 

Это приведет к проверке проверки HTML5, сообщения об ошибках по умолчанию, которые будут отображаться, и все работает хорошо!

+0

Чистый jQuery беспорядок. Нет другого метода с 2013 года? – cadavre

Смежные вопросы