使用 jQuery 1.4 来做到这一点。
将表单添加到 body 标记中,表单本身没有什么特别的:
$(function() {
$('body').prepend('<form name="frmSample" id="frmSample"><input class="btn" type="submit" value="SIGN UP" /></form>');
});
我使用以下方式提交表单:
$('#frmSample').live('submit', function() {
var formdata = $(this).serialize();
$.ajax({
type: 'POST',
url: 'http://www.example.com/Values.jsp',
data: formdata,
success:function() {
submit_success();
}
});
return false
});
在最新的浏览器(Firefox 3.5、Safari 4)上,这可以正常工作。一旦我降到 FF 3.0 及以下或 IE 7 及以下,此问题就会停止。
我现在有点卡住了。我一直在寻找一些东西,但只能找到除 return false 或 event.preventDefault() 之外的任何内容。
所以想看看我是否在这里遗漏了一些小东西,或者走错了方向。
我会比 stopPopagation 更进一步:
$('#frmSample').live('submit', function(e) {
stopEvent(e);
....etc...etc
以及 stopEvent 的代码:
function stopEvent(event) {
event.preventDefault();
event.stopPropagation();
if ($.browser.msie) {
event.originalEvent.keyCode = 0;
event.originalEvent.cancelBubble = true;
event.originalEvent.returnValue = false;
}
}
从这里:http://www.openjs.com/articles/prevent_default_action/
returnValue 和 PreventDefault() 方法
这满足了我们的需要 - 但我们不能依赖 return false 方法来阻止默认操作。提供此代码将退出该函数 - 因此,如果函数中有更多要做的事情,则无法使用此代码。在我遇到的大多数情况下, return false 就足够了,但在某些领域,我们需要更激烈的东西。
在 google 中输入以下内容以获取更多信息:
防止默认停止传播
取消气泡
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)