我正在尝试编写一个表单,当单击表单上的按钮时向服务器发送 JSON 请求。我想禁用默认表单行为,以便单击按钮完成发送电子邮件地址的工作。这个想法是从服务器向表单返回一条消息(如果出现错误),或者用成功消息替换表单(成功时)。
这是我到目前为止所拥有的(片段):
<div>
<br />
<div class="row">
<div id="invite-member">
<p>Enter your email:</p>
<div class="no-show error-msg"></div>
<form id="frm-invite" method="post" autocomplete="off" action='www.example.com/backend.php' accept-charset="UTF-8">
<div class="input-append">
<input type="text" placeholder="Enter Email" class="input-long">
<button id="btn-invite" class="btn btn-primary btn-success" type="submit">Add me »</button>
</div>
</form>
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
$("#btn-invite").click(function(e){
alert('Woohoo');
e.stopPropagation();
});
});
</script>
第一次加载页面时,按钮的行为与预期相同。尽管随后的时间(没有重新加载页面),事件绑定似乎已被“破坏”并且浏览器想要转到 www.example.com/backend.php。
这是为什么?。