在我的表单中,我有一些字段,可以由用户动态添加。
我通过JQuery(functions.js)添加字段。目前我没有数组工作,我正在使用隐藏字段,其中存储了字段数。
$("#weiterer_artikel").on("click", function(){
//read the value of the hidden field
$anzahl = $("#bestellanzahl").val();
//$anzahl is a String
$anzahl = parseInt($anzahl);
$neueAnzahl = $anzahl+1;
//HTML code for a new article
$nummer = "<div class='formgroup'><label for='nummer-"+$neueAnzahl+"' class='col-sm-2 control-label' id='nr-"+$neueAnzahl+"'>Nr.</label>"+
"<div class='col-sm-10'><input type='text' name='nummer-"+$neueAnzahl+"' value='"+$neueAnzahl+"' class='form-control' readonly></div></div>";
$artikel = "<div class='formgroup'> <label for='artikel-"+$neueAnzahl+"' class='col-sm-2 control-label' id='artikel-"+$neueAnzahl+"'>Artikel</label>"+
"<div class='col-sm-10'><input type='text' class='form-control' placeholder='Artikelname' name='artikel-"+$neueAnzahl+"' required></div></div>";
$artnr = "<div class='formgroup'> <label for='art-nr-"+$neueAnzahl+"' class='col-sm-2 control-label' id='art-nr-"+$neueAnzahl+"'>Art.Nr.</label>"+
"<div class='col-sm-10'><input type='text' class='form-control' placeholder='Artikelnummer' name='art-nr-"+$neueAnzahl+"'></div></div>";
$stk = "<div class='formgroup'> <label for='anzahl-"+$neueAnzahl+"' class='col-sm-2 control-label' id='anzahl-"+$neueAnzahl+"' required>Stk.</label>"+
"<div class='col-sm-10'><select class='form-control' id='anzahl-"+$neueAnzahl+"' name='anzahl-"+$neueAnzahl+"'>"+
"<option value='1'>1</option><option value='2'>2</option><option value='3'>3</option><option value='4'>4</option><option value='5'>5</option></select></div></div>";
//add field
$("#bestellung-"+$anzahl).after("<div id='bestellung-"+$neueAnzahl+"'>"+$nummer+$artikel+$artnr+$stk+"</div>");
//write new field number in hidden field
$("#bestellanzahl").val($neueAnzahl);
});
我的问题是,如果我发送表单(通过POST)并且服务器端验证(通过表单请求)失败,则从我的视图中删除所有手动添加的字段。
有什么方法可以解决我的问题吗?
答案 0 :(得分:0)
你应该使用ajax提交表单,或者你可以将动态添加的html存储到cookie中。