【发布时间】:2012-05-18 15:43:01
【问题描述】:
我在本地设置上工作(使用 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() 根本不执行,表单只是提交。
如何让它在两个版本上都运行。我做错了什么?
【问题讨论】:
标签: jquery preventdefault stoppropagation jquery-1.3