gpt4 book ai didi

javascript - jQuery preventdefault on form submit 第二次出错

转载 作者:行者123 更新时间:2023-11-30 13:10:12 24 4
gpt4 key购买 nike

我正在使用对 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>

这是实时版本:Live Demo of the Source.

最佳答案

这里的代码:

    jQuery("form#rezervasyon").submit(function (e) {
e.preventDefault();
});

为表单上的“提交”事件建立事件处理程序。处理程序是永久性的;嗯,它是永久性的,直到你明确地把它拿走,而你没有。因此,如果您有错误,您可以设置该处理程序,然后从那时起您将永远无法提交表单;该处理程序将始终阻止默认操作。

不要这样做,而是执行以下操作(我认为):

  1. 更改提交图像的“onclick”处理程序:

    <input type="image" src="http://www.guiderentacar.com/yeni/tema/bg_devamet.png" onclick="jqkontrol(event);" />
  2. 更改验证码:

    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 - jQuery preventdefault on form submit 第二次出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14159048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com