Sem*_*iev 2 ajax jquery codeigniter form-submit preventdefault
我有一个表单(通过codeigniter制作),我想用ajax onClick提交.表单提交没有Ajax并且不允许我这样做event.preventDefault();
jQuery文件
$('#register_submit').click(function(e){//
e.preventDefault();
var first_name = $('#register_form1').val();
$.ajax({
type: "POST",
async: false,
url: base_url+"register/registration_val",
data: "register_first_name="+first_name,
success: function(data){
$('#inferiz').html(data);
},
error: function(){alert('error');}
});
});
Run Code Online (Sandbox Code Playgroud)
//控制器工作正常.名称寄存器,我POST的功能是registration_val
HTML文件
<form method="POST" action='<?php echo site_url('/register/registration_val'); ?>' id='register_form' >
<input type="login" name="register_first_name" id="register_form1">
<input type='submit' value="Register" id='register_submit'>
</form>
Run Code Online (Sandbox Code Playgroud)
问题是,当我点击SUBMIT按钮时,jQuery不会完成它的工作,而是表单将自己提交给控制器并发出错误消息.
我无法阻止表单提交(我认为可以解决问题),Click事件完全被忽略.提前致谢
试试你的运气submit
而不是click
:
$('form').submit(function(e){//
e.preventDefault();
var first_name = $('#register_form1').val();
$.ajax({
type: "POST",
async: false,
url: base_url+"register/registration_val",
data: "register_first_name="+first_name,
success: function(data){
$('#inferiz').html(data);
},
error: function(){alert('error');}
});
});
Run Code Online (Sandbox Code Playgroud)
如果从有id
替换'form'
用'#{formId}'
.
笔记:
像这样:
$('body').on('submit', 'form', function(e){
e.preventDefault();
var first_name = $('#register_form1').val();
$.ajax({
type: "POST",
async: false,
url: base_url+"register/registration_val",
data: "register_first_name="+first_name,
success: function(data){
$('#inferiz').html(data);
},
error: function(){alert('error');}
});
});
Run Code Online (Sandbox Code Playgroud)
只需body
用更接近的静态元素(如果有的话)替换以提高性能.
祝好运!
归档时间: |
|
查看次数: |
7092 次 |
最近记录: |