3
我有一個動態添加行的表單。有用。填寫表單域並點擊提交按鈕「檢查正確性」後,將執行驗證。如果數據錯誤,它需要一個正確的。如果數據正確,我們爲生成的PDF文件提供一個新的提交按鈕「生成pdf」。數據驗證用戶輸入的數據應該仍然可見。它也適用於我的形式。在PHP和JavaScript中保存動態添加的行
問題是當我添加一些行。填寫完後點擊提交「檢查正確性」,新添加的行將隨其數據消失。有誰知道如何在驗證後保存這些行?
這是動態添加字段我的HTML代碼:
$oForm->formHTML('<div class="add_btn_block" style="margin-left:200px;"><div class="row_add_btn add_row">title</div></div>');
$oForm->formHTML(addRows2());
function addRows(){
$personsArray = $_POST['persons'];
$html = '
<table id="template2" style="display:none; ">
<tr id="row_{0}">
<td><input type="text" name="persons[]"></td>
<td><img src="/../_img/row_del.png" id="delete_{0}" alt="usun"></td>
</tr>
</table>
<table id="list2">
<thead >
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="text" name="persons[]" value="'.$personsArray[1].'"></td>
<td></td>
</tr>
<tr>
<td colspan="2" id="app_here2"></td>
</tr>
</tbody>
</table>';
return $html;
}
這是該JavaScript代碼。
<script>
$(document).ready(function(){
var i = 2;
var rowTemplate2 = jQuery.format($("#template2").html());
function addRow(){
var ii = i++;
$("#app_here2").append(rowTemplate2(ii));
$("#delete_" + ii).click(function(){
$("#row_" + ii).remove();
});
}
$(".add_row").click(addRow);
});
</script>
這是一些PHP:
if($_POST["ACT"] == NULL){
$oForm->formInput(array(
'type'=>'hidden',
'name'=>'ACT',
));
$oForm->formInput(array(
'id' =>'counter',
'type'=>'hidden',
'name'=>'counter',
'value'=>0));
$oForm->formSubmit(array(
'name' => 'sprawdzPoprawnosc',
'value' => 'check correctness'
));
}
有一些畫面:
其單列- :
2.It的加入兩行後。我想以後頁面清爽仍然有形式是這樣的(3行數據到其):
3.It的是什麼樣子,現在,頁面刷新後:
你能幫助我嗎?
假設您正在對服務器進行全面的往返並返回表單,例如完全重建頁面,那麼當時頁面重建也必須包含任何添加的行。否則你只會回到你開始的地方。 – 2014-10-29 14:19:15
你好。社區已經討論過「我們應該在標題中使用自制標籤設備」這個問題,並且已經決定我們不應該(如果你感興趣的話,這是在_Meta_上)。如果您可以避免以這種方式撰寫標題,這有助於減少進一步的編輯工作 - 謝謝。 – halfer 2014-10-29 14:19:55
你說得對@Marc B,但我該怎麼做?我應該做一個循環來保存數據,但我不知道如何去做。 – 2014-10-29 14:24:58