2015-12-10 414 views
0

我是一個客戶管理系統和IM目前停留在一個問題我一直在試圖找出了一個星期的工作得到,現在已江郎才盡不工作阿賈克斯阿賈克斯後,從裏面的div

我有index.php基本上它是一個簡單的形式,你提交一個客戶的名字和姓氏然後阿賈克斯發送請求functions2.php添加到數據庫,然後報告成功與否,然後webapp_get_customers檢索並更新與新客戶的表到webapp_get_customers DIV而無需刷新頁面,這是在get.php頁面上可以正常使用

然而

我有一個從表中選擇結果的表,然後在下面添加到b相同的形式e能夠編輯客戶名稱時,我在索引頁上編輯其打開窗體中正確的模式,但不是不提交表單,因爲它不能找到ajax

所以我追求的是我怎樣才能得到它查看webapp_get_customers div來查看錶單是否被提交,或者我是否會做出這種錯誤。即時通訊思想瀏覽器無法看到駐留在get.php頁面上的DIV裏面的代碼它只是返回加載的內容

請幫助其非常apreciated

<form name='frm_details' class='frm_details' id='frm_details0' action=''> 
<input type='text' class='form-control' name='cu_fname' required> 
<input type='text' class='form-control' name='cu_lname' required> 
<input type='submit' value='Save' > 
</form> 

    <script> 
     $(function() { 
      $('form.frm_details').on('submit', function(event) { 
       event.preventDefault(); 
       $.ajax({ 
        url: '/limitless/functions2.php', 
        type: 'post', 
        dataType: 'json',      
        data: $(this).serialize(), 
         success: function(data) { 
          if(data.status == '1') 
          { 
           $('#info').addClass('alert alert-danger no-border').html(data.message); 
          } 
          if(data.status == '2') 
          { 
           $('#info').addClass('alert alert-danger no-border').html(data.message); 
          }        
         } 
       }); 
      }); 
     }); 
    </script> 

    <script> 
    function webapp_get_customers(){ 
     $.ajax({ 
     type: 'GET', 
     url: '/limitless/get.php', 
     dataType: 'html' 
     }).done(function(data) { 
     $('#webapp_get_customers').html(data); 
     }); 
    } 
    webapp_get_customers(); 
    </script>  


    <div id='webapp_get_customers'></div> 
+0

您沒有傳遞任何get.php值? – momouu

+0

在現階段get.php只是顯示整個表只有孤單6的客戶在那裏,它重複和編輯模式的每一行 – Nathan

+0

@Nathan,是你的函數webapp_get_customers被稱爲? – Nehal

回答

0

我建議ü使用ajaxSubmit會提交一個表單,它會爲你處理表單域的序列化。

$("#yourFormSelector").ajaxSubmit({ 
    type: "POST", 
    url: url, 
    beforeSend: function (msg) { 
     //Do something before sending your request 
    }, 
    success: function (data, status, xhr) { 
     //Do something on success 
    }, 
    error: function (xhr, status, error) { 
     //Do something on success 
    }, 
    complete: function (event, xhr, option) { 
     //Do something on complete (whether it was successful or not) 
    } 
}); 
+0

上得到一個例子 – Nathan

+1

你的建議可以派上評論.... – Rayon

+0

@Nathan我爲你,只需要使用ajaxSubmit會在你的表格選擇這樣提供了一個示例任何機會。 –

0

首先,如果你想檢查提交過程,你可以在Chrome(或Firefox)中打開開發工具,點擊網絡面板。顯示在那裏的所有請求。其次,如果在加載頁面後添加表單(或其他DOM),則事件偵聽器將不會正確添加到它。您需要再次手動綁定它。

+0

你能告訴一些代碼如何再次綁定 – Nathan

+0

可以打印一些任何機會對我來說錯誤?從您的開發工具控制檯 – MikeZhang

+0

控制檯不顯示任何錯誤。當我在div裏面提交表格時 – Nathan

1

你只需要從功能刪除發送jQuery的AJAX功能,並調用它以這樣的方式

<form name='frm_details' class='frm_details' id='frm_details0' action=''> 
    <input type='text' class='form-control' name='cu_fname' required> 
    <input type='text' class='form-control' name='cu_lname' required> 
    <input type='submit' value='Save' > 
    </form> 

     <script> 
      $(function() { 
       $('form.frm_details').on('submit', function(event) { 
        event.preventDefault(); 
        $.ajax({ 
         url: '/limitless/functions2.php', 
         type: 'post', 
         dataType: 'json',      
         data: $(this).serialize(), 
          success: function(data) { 
           if(data.status == '1') 
           { 
            $('#info').addClass('alert alert-danger no-border').html(data.message); 
           } 
           if(data.status == '2') 
           { 
            $('#info').addClass('alert alert-danger no-border').html(data.message); 
           }        
          } 
        }); 
       }); 
       $.ajax({ 
        type: 'GET', 
        url: '/limitless/get.php', 
        dataType: 'html', 
        success: function(data) 
        { 
        //alert(html); 
        $('#webapp_get_customers').html(data); 
        } 
       }); 

      }); 
     </script>  

     <div id='webapp_get_customers'></div> 
+0

一旦問題我已經當表單提交如何我可以得到它regrab得到。php用剛剛提交的數據更新頁面 – Nathan

+0

所以在頁面加載時將會加載ajax獲取並監聽表單的子命令,但是一旦表單被提交,它不會重新提交數據庫副本與剛剛提交的細節 – Nathan

+0

@ Nathan,你是想說數據沒有插入數據庫,或者你想說結果在那裏沒有改變?對不起,但我無法理解你寫的英文。 – Nehal