jQuery的preventdefault在表单第二次提交时出错
jQuery preventdefault on form submit goes wrong on second time
我使用一个表单提交,对jqtransformed项目进行验证。奇怪的是,提交控制只工作一次。如果我在第一次尝试中提交了正确的表单,它就会发送值。但如果我不提交,它会提醒我,并且再也不提交了。
这是我的样作。
function jqkontrol(){
var alis = jQuery("#alis_yeri div.jqTransformSelectWrapper span").text();
var donus = jQuery("#donus_yeri div.jqTransformSelectWrapper span").text();
if(alis!='Alış Yeri Seçiniz' && donus!='Dönüş Yeri Seçiniz'){
jQuery("form#rezervasyon").submit();
return true;
}else{
alert('Alış noktası seçiniz.');
jQuery("form#rezervasyon").submit(function (e) {
e.preventDefault();
});
return false;
};
}
<form>
<input type="image" src="http://www.guiderentacar.com/yeni/tema/bg_devamet.png" onclick="jqkontrol();" />
</form>
这里是实时版本:源代码的实时演示。
下面的代码:
jQuery("form#rezervasyon").submit(function (e) {
e.preventDefault();
});
为表单上的"submit"事件建立一个事件处理程序。处理程序是永久性的;除非你明确地把它拿走,否则它是永久的,但你不会这么做。因此,如果你有错误,你设置那个处理程序,然后从那一刻起,你将永远无法提交表单;该处理程序将始终阻止默认操作。
与其那样做,不如这样做(我认为):
修改提交图片的onclick处理程序:
<input type="image" src="http://www.guiderentacar.com/yeni/tema/bg_devamet.png" onclick="jqkontrol(event);" />
更改验证码:
function jqkontrol(ev){ ev = ev || window.event; // for IE var alis = jQuery("#alis_yeri div.jqTransformSelectWrapper span").text(); var donus = jQuery("#donus_yeri div.jqTransformSelectWrapper span").text(); if(alis!='Alış Yeri Seçiniz' && donus!='Dönüş Yeri Seçiniz'){ return true; }else{ alert('Alış noktası seçiniz.'); if (ev.preventDefault) ev.preventDefault(); ev.returnValue = false; // for old IE }; }
相关文章:
- Javascript生成的表单未提交
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- javascript中的数组出错
- HTML表单提交时未执行外部函数
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 在POST中将html表作为csv提交
- 我应该使用Ng提交还是点击表格
- 我想使用模态通过php文件发送邮件,并且我希望在提交关闭后关闭pop
- 提交后保留下拉选择的值
- 在提交事件上调用 ajax 时出错
- 在将数据发送到服务器端(php)之前,提交按钮出错
- 使用启动引导“代理”主题的提交表单时出错
- ExtJS 5中表单提交的XML响应出错
- 使用提交限制验证密码时出错
- 使用ajax提交表单时出错
- 提交时禁用按钮,出错时重新启用
- 在下载文件出错的情况下,管理表单提交上的JSON服务器响应
- "NaN”;asp classic中提交值的IE出错
- 当表单提交不被接受时,依赖选择器就会出错
- jQuery的preventdefault在表单第二次提交时出错