onclick 事件干扰本机提交表单操作

onclick event interferes with native submit form action

为此我绞尽脑汁。我有一个与表单提交按钮关联的 onclick 事件。如果我删除 onclick 事件并使用本机提交,它就可以工作。然后我将 onclick 放回去并添加了 submit()。表单已提交,但 php 脚本失败。不幸的是,我需要 on(click) 才能让更多其他脚本正常工作,因为它不适用于标准 javascript onclick。这是我的代码示例,欢迎任何提示。

<form id="target" action="deliorder.php" method="post" onSubmit="rmvspaces()">
<input type="hidden" name="Subject" id="Subject" value="Deli Order">
<input type="text" name="TotalOrder" id="TotalOrder" >
<textarea name="Details" id="Details"  autocomplete="off"></textarea>
<div class="inpcont">
Name <input name="Name" id="Name"  class="entry" type="text"></div> 
<div class="inpcont">
Email <input name="Email" id="Email"  class="entry" type="text"></div>
<div class="inpcont">
Phone <input name="Phone" id="Phone"  class="entry" type="text"></div>
<div class="inpcont">
Zip <input name="Zip" id="Zip"  class="entry" type="text"></div>
<input name="Submit" id="Submit" class="btn" type="submit"  value="SUBMIT" style="margin-left:255px; margin-top:20px; margin-bottom:10px;">
</form>

</div>

</div>
</div>

<script>//Add new item button

$(document).ready(function() {
    $('#itmid').click(function() {
        addItem($('#itmid').val());
    });
});

$(".btn").on("click",function(event){
event.preventDefault();
var content = $('#order').html();
$("#ordertxt").html(content);
upAmt();
duporder();
totorder();
rmvit();
copyorder();
$( "#target" ).submit();
});
</script>

浏览器的行为是,一旦按钮点击事件被触发,如果按钮有任何事件处理程序,它将执行事件处理程序,然后调用将被传递给 parent 元素。如果有任何事件处理程序为将要执行的 parent 编写的处理程序.. 基本上当你点击一个按钮时,你在内部也点击了 parent 元素..这就是里面的行为..希望这将是有用的信息

如果您使用 event.stopPropagation(),则调用将不会传递给 parent。

对于 IE:window.event.cancelBubble = true