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

时间:2015-04-20 04:32:22

标签: jquery submit onclicklistener

我一直在绞尽脑汁。我有一个与表单提交按钮相关联的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>

1 个答案:

答案 0 :(得分:1)

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

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

对于IE:window.event.cancelBubble = true