2012-06-02 58 views
0

我有以下代碼...如何添加行,並提交形式與jQuery

<h3>Guests</h3> 
<form class="form-inline"> 
    <fieldset>         
     <label class="control-label" for="input01">First Name:</label> 
      <input type="text" class="input-small" id="input01">        
     <label class="control-label" for="input01">&nbsp;&nbsp;Middle Name:</label> 
      <input type="text" class="input-small" id="input01"> 
     <label class="control-label" for="input01">&nbsp;&nbsp;Last Name:</label> 
      <input type="text" class="input-small" id="input01"> 
     <label class="control-label" for="input01">&nbsp;&nbsp;Birthday:</label> 
      <input type="text" class="input-small" id="input01">>     
    </fieldset> 
</form> 

我希望能夠添加一個按鈕,上面寫着「添加更多」,並讓這增加一個新的一行元素,最終將表單保存到數據庫中。如果我添加一個添加一行的按鈕(這需要向數據庫添加一條記錄,對於已更改的記錄,我想更新數據庫中的記錄)。

所以現在的問題,多深裂是:

  1. 當他們點擊「添加更多」按鈕,我想這是最好的 時間將記錄添加到數據庫中。然後,當我保存 表單時,我循環並更新表單中的所有記錄。還是 還有其他想法嗎?
  2. 主要觀點:是否有某個地方有人可以建議如何循環執行更新?

回答

2

我同意在同一時間將值保存到數據庫不是一個好主意,並再次想到你在這裏嘗試了什麼。當有人點擊「添加更多」你會有新行,然後添加到數據庫,但對那些最初的行值是什麼...

可能,這將有助於

<label class="control-label" for="input01">First Name:</label> 
     <input type="text" class="input-small" id="input01" name="firstname[]">        
    <label class="control-label" for="input01">&nbsp;&nbsp;Middle Name:</label> 
     <input type="text" class="input-small" id="input01" name="middlename[]"> 
    <label class="control-label" for="input01">&nbsp;&nbsp;Last Name:</label> 
     <input type="text" class="input-small" id="input01" name="lastname[]"> 
    <label class="control-label" for="input01">&nbsp;&nbsp;Birthday:</label> 
     <input type="text" class="input-small" id="input01" name=birthday[]>     

現在保存你想要在js中點擊按鈕時出現的字段var

var extras = $('fieldset')。clone();

然後

$( 「yourAddButton。 」)點擊(函數(){$ (「 形式」)追加(臨時演員); })。

最後不要忘了提交按鈕提交表單。

4

我建議,對「添加更多」按鈕,點擊是 將記錄添加到數據庫中的最佳時機。想象一下,有人點擊按鈕,而不是實際填寫行。 很酷,你想要得到所有喜歡你的形式,並提供更多的交互式用戶體驗,但不要減損「形式 101」:有一個「提交/保存」按鈕。在保存到 數據庫之前驗證。邏輯非常簡單:您需要隱藏某處的行ID (可能是隱藏的文本字段)。邏輯爲 ,類似於「我收到了$ _POST,我檢查了所需的數據是否存在,並且沒有問題,是否有ID?是:更新,否。: 插入。