我有一些文本框和一个提交按钮。我已经使用了 HTML5 的“必需”验证。它工作正常。现在,当 HTML5 验证未发现任何错误时,我想在按钮单击中调用一个函数。当未提供必填字段时,单击按钮将不会调用该函数。
问问题
3500 次
4 回答
4
您可以使用form.onsubmit
处理程序。假设表单的 ID 是form
:
var form = document.getElementById("form");
form.onsubmit = function() {
//Pre-submission validation.
//Return true or false based on whether the validation passed.
//return false will prevent the submission the form.
};
于 2012-11-03T10:49:58.403 回答
1
你需要一些额外的帮助才能做到这一点,它可能是纯 javascript 的形式。就个人而言,我会使用 jQuery 来提供帮助,因为它会让您的事情变得更容易,并考虑到任何跨浏览器的一致性。想不想用jQuery是你的选择,是否只适合这个是另外一个话题,下面的例子只是一个示范。
这是一个使用 jQuery 实现验证侦听功能的假设示例:
HTML
<form>
<input type="text" class="input-text" required>
<input type="text" class="input-text" required>
<input type="submit" id="submit" class="input-button" disabled>
</form>
JS
$textInputs = $('input.input-text');
$textInputs.on('keyup', function() {
var $validTextInputs = $('input.input-text:valid'),
$submit = $('#submit');
console.log($textInputs.length, $validTextInputs.length);
if($textInputs.length === $validTextInputs.length){
//all text fields are valid
$submit.attr('disabled', null);
} else {
//not all text fields are valid
$submit.attr('disabled', '');
}
});
CSS(仅让我们在视觉上知道输入何时有效)
.input-text:valid {
background: green;
}
请参阅此处的示例:http: //jsfiddle.net/m6QXc/
于 2012-11-03T10:57:33.860 回答
1
HTML5表单验证后使用jquery触发函数
<form id="myForm">
<input type="text" class="input-text" required>
<input type="submit" id="submit" class="input-button" disabled>
</form>
$("myForm").submit(function(){
// Your code
})
于 2018-03-03T14:14:02.370 回答
0
好吧,你可以试试这个:fiddle example根据需要扩展它,虽然使用了jQuery。你可以在里面添加任何你想要的东西:
$('#exampleForm').submit(function(e){
e.preventDefault();
// here you can call your own js methods, send form with ajax?
// or what ever you want
});
于 2012-11-03T10:40:39.890 回答