我一直在绞尽脑汁。我有一个与表单提交按钮相关联的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>
答案 0 :(得分:1)
浏览器的行为是一旦按钮点击事件被触发,它将执行事件处理程序,如果该调用之后有任何按钮将被传递给父元素。如果有任何为父元素编写的处理程序将被执行.. 基本上当你点击一个按钮时,你在内部也点击了父元素。这就是里面的行为..希望这将是有用的信息
如果您使用event.stopPropagation(),则不会将调用传递给父级。
对于IE:window.event.cancelBubble = true