[英]codeigniter ajax form submit
我有一個要通過ajax onClick提交的表單(通過codeigniter制作)。 表單提交時沒有Ajax,也event.preventDefault();
我執行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');}
});
});
//控制器工作正常。 名稱寄存器,我發布到的函數是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>
問題是,當我單擊“提交”按鈕時,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');}
});
});
如果from具有id
, '#{formId}'
'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');}
});
});
只需將body
替換為更靠近的靜態元素(如果有)以增強性能。
祝好運!
如果您將return false;
到點擊事件結束時,不應將您的表單提交給控制器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.