Javascript jQuery提交表单 html代码
该代码确保没有输入字段为空,它发现一个空字段,然后会出现错误消息,否则应提交,但提交不起作用 尝试使用Javascript jQuery提交表单 html代码,javascript,jquery,html,validation,Javascript,Jquery,Html,Validation,该代码确保没有输入字段为空,它发现一个空字段,然后会出现错误消息,否则应提交,但提交不起作用 尝试使用$(this)[0].submit()。使用$(this)引用表单的jQuery对象引用。我不知道jQuery的submit()方法实际上做了什么,但它显然没有提交表单。使用$(this)[0]引用实际的DOM元素,该元素将使用标准的DOM提交方法,这正是您要查找的 我相信您已经知道这一点,但您应该使用服务器端和客户端验证,因为有些用户没有JS,有些用户会故意篡改您的表单。只是一句简短的“别忘了
$(this)[0].submit()代码>。使用$(this)引用表单的jQuery对象引用。我不知道jQuery的submit()
方法实际上做了什么,但它显然没有提交表单。使用$(this)[0]
引用实际的DOM元素,该元素将使用标准的DOM提交方法,这正是您要查找的
我相信您已经知道这一点,但您应该使用服务器端和客户端验证,因为有些用户没有JS,有些用户会故意篡改您的表单。只是一句简短的“别忘了” 您可以删除e.preventDefault()
并使用return
insead:
$('form').on('submit', function(e){
var errorCount = 0;
$('span.errorMessage').text('');
$('input').each(function(){
var $this = $(this);
if($this.val() === ''){
var error = 'Please fill ' + $this.prev('label').text();
$this.next('span').text(error);
errorCount = errorCount + 1;
}
});
return errorCount === 0;
});
演示:查看。为此,您可以为任何必需的输入字段添加一个class=“required”
,只需对其调用validation
:
$('form').validation({
// any options you want
});
它还可以做一些方便的事情,比如显示错误消息、执行条件验证等
$('form').on('submit',function(e){
var errorCount = 0;
$('span.errorMessage').text('');
$('input').each(function(){
var $this = $(this);
if($this.val() === ''){
var error = 'Please fill ' + $this.prev('label').text();
$this.next('span').text(error);
errorCount = errorCount + 1;
}
});
if(errorCount === 0){
alert('done'); // just an alert to notice when everything OK [remove it]
$this.submit(); // submit the form on success
} else e.preventDefault(); // halt the submission on default
});
我不知道确切的问题。但是你知道jquery中有这个函数吗?我正在使用它,看它在jQuery代码中的最后一行,问题是为什么这个提交不起作用?你应该真的考虑用A代替这个。@ WilliamKinaan啊,我没有发现它^ ^;试试这个:if(errorCount!==0){return false;}并用其他浏览器测试你的表单。你是唯一的人,它可以工作谢谢你我会在我允许的时候接受答案谢谢你,但我需要做e.preventDefault,答案是$(this)[0]。submit()只是出于兴趣,为什么你需要e.default
这里?@William Kinaan我想你想要这样的东西。准确地检查代码和演示。你需要包括实际的插件,文档都可以在我提供的链接上找到。
$('form').validation({
// any options you want
});
$('form').on('submit',function(e){
var errorCount = 0;
$('span.errorMessage').text('');
$('input').each(function(){
var $this = $(this);
if($this.val() === ''){
var error = 'Please fill ' + $this.prev('label').text();
$this.next('span').text(error);
errorCount = errorCount + 1;
}
});
if(errorCount === 0){
alert('done'); // just an alert to notice when everything OK [remove it]
$this.submit(); // submit the form on success
} else e.preventDefault(); // halt the submission on default
});