これはローカルセットアップ(jquery.1.6.4を使用)で機能していますが、開発セットアップ(jquery.1.3.2)では機能していません。
次のフォームを検討してください -
<form onsubmit="return validateMacros();">
<input id="formsubmitbutton" type="submit" name="formsubmitbutton" value="Submit" />
</form>
validateMacros();
上記の呼び出しに注意してください。
そして、次のJavaScript -
jQuery(document).ready(function()
{
$("input#formsubmitbutton").click(preValidateUrls);
function preValidateUrls(evt)
{
evt.preventDefault(); //to prevent form submission until completion of async event
$.ajax({
...
...
success: function(res)
{
$("form#frmBanners").submit(); //This submits the form in case of both versions but in 1.3.2 case, the validateMacros() function is not called
}
});
}
});
function validateMacros()
{
//some logic here - which is not executing in case of jquery.1.3.2
}
jquery.1.6.4 が読み込まれると、目的validateMacros()
の の実行が完了した後に関数が実行されpreValidateUrls()
ます。
しかし、jquery.1.3.2 が読み込まれると、validateMacros()
まったく実行されず、フォームが送信されるだけです。
両方のバージョンで動作させるにはどうすればよいですか。私は何を間違っていますか?