2011-07-13 118 views
1

我有一個簡單的html表格,以兩行開頭。每行包含2個表單字段。用戶可以添加額外的行如下:jquery重新填充表格字段

$('a#addRow').click(function() { 
    $('#jTable tr:last').after('<tr>'+ 
     '<td><input type="text" name="foo[]" value="" id="foo[]" /></td>'+ 
     '<td><input type="text" name="bar[]" value="" id="bar[]" /></td></tr>'); 
    return false; 
}); 

這工作正常。

但是,如果在發佈表單後檢測到錯誤,那麼我需要用正確的行數重新創建表。此刻,在發佈之後,表格僅默認回到兩個起始行。

回答

0

我決定做這個服務器端。

控制器:

$data['rows'] = count($_POST('foo')); 

查看

<?php for ($i = 0; $i < $rows; $i++): ?> 
    <tr> 
     <td><input type="text" name="foo[]" value=<?php echo $foo[$i]; ?> id="foo[]" /></td> 
     <td><input type="text" name="bar[]" value=<?php echo $bar[$i]; ?> id="bar[]" /></td> 
    </tr>  
<?php endfor; ?> 
0

嘗試將標準html-post中的數據發佈到AJAX請求。這將確保在發佈表單時不會重新加載該網站 - >您的表格將保持原樣。請參閱JQuery Submit

0

在提交表單中,您可以存儲表格中的行數。

$('form').submit(function(){ 
    // Cool stuff here 
    // ... 
    localStorage.setItem('nbLinesinTable', $('table > tr').length); 
    // or add input to form 
} 

的k_wave解決的也是可靠的。