我有一个登录页面。我使用了jquery提交事件。
$("#frm_login").submit(function(event){
event.preventDefault();
alert('submit tiggered!');
});
问题出在哪里?表格正在提交两次!(警报显示两次。
这是实际代码:
<script type="text/javascript">
$(document).ready(function () {
$("#frm_login").submit(function(event){
event.preventDefault();
$("#login_invalid").hide();
$.ajax({
type:'POST'
,url:"<?=base_url('login/process_login')?>"
,data:$('#frm_login').serialize()
,dataType:'json'
,success:function(data){
if(data['is_user']===undefined)
{
$("#login_invalid").show();
$("#btn_submit_login").html('SUBMIT');
}
else {
alert('submit triggered here twice!');
if(data['user_type']==='1')
{
window.location='<?=base_url().'user'?>';
}
else if(data['user_type']==='0')
{
window.location='<?=base_url().'admin/maintenance/users'?>';
}
}
}
,error:function(e){
//alert(e.responseText);
}
});
});
});
</script>
我不知道怎么了。我在 ajax 中使用基于 codeigniter 的 url。
请帮忙。
找到了答案!这个问题可能是重复的: https://stackoverflow.com/a/26261975/10460838
e.stopImmediatePropagation();
救了我的一天!但我真的不明白为什么它需要该代码。