0

私はこれを使用して送信ボタンの押下をキャッチし、すべてを検証してから、停止するか通過させます。これはFirefoxで機能しますが、Chromeでは機能しません。Chromeではフォームが空になります。Chromeで動作するリセット機能もありますが、Firefoxで動作します。私はjsとjqueryを初めて使用しますが、一方のブラウザで動作し、もう一方のブラウザでは動作しないものが私を混乱させるので、これを理解するのに役立つ可能性があります:)

(まだテストアラートが残っていることをお詫びします)

コードは次のとおりです。

$("form").submit(function(e){
if (e.originalEvent.explicitOriginalTarget.id=="btn") {

if (bizNameValid==false || bizWebValid==false || bizStreetValid==false || bizCityValid==false || bizStateValid==false || bizZipValid==false || bizPhoneValid==false || firstValid==false || lastValid==false || custStreetValid==false || custCityValid==false || custStateValid==false || custZipValid==false || custPhoneValid==false || custEmailValid==false || monValid==false || yearValid==false || typeValid==false || ccValid==false) {
alert("bizNameValid:" + bizNameValid+"\n bizWebValid:"+bizWebValid+"\n bizStreetValid"+bizStreetValid +"\n bizCityValid: "+bizCityValid+ "\n bizStateValid:"+bizStateValid+"\n bizZipValid: "+bizZipValid+"\n bizPhoneValid:"+bizPhoneValid+"\n firstValid:"+firstValid+"\n lastValid:"+lastValid+"\n custStreetValid:"+custStreetValid+"\ncustCityValid"+custCityValid+"\n custStateValid"+custStateValid+"\n custZipValid:"+custZipValid+"\n custPhoneValid"+custPhoneValid+"\n custEmailValid:"+custEmailValid+"\n monValid:"+monValid+"\n yearValid:"+yearValid +"\n ccValid:"+ccValid+" \nccType:"+typeValid);
e.preventDefault();
return false;

}
else if(total==0) {
$("#svc_desc").append("</br><label id='first_error' style='font-size:16pt;'>You must select a service to continue</label>");
alert("You must select a service to continue");
e.preventDefault();
return false;
}
else {
return true;
}
}
});
4

1 に答える 1

2

試す

$("form").submit(function(e){
    var target = e.originalEvent || e.originalTarget;

    if($(target.srcElement || target.originalTarget).attr('id')=="btn"){

    }
    //rest of  your code 


});

参照:https ://stackoverflow.com/a/8067990/1679410

于 2013-02-25T04:52:46.230 に答える