簡體   English   中英

Codeigniter Ajax表單提交

[英]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}'

筆記:

  • 該代碼應位於DOM ready事件回調中。
  • 如果DOM上沒有該表單,則應使用委托事件。

像這樣:

$('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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM