我创建了一个小应用程序,我使用jQuery动态创建表单元素及其id。稍后进行表单验证我需要获取条目的字段。我能够获取输入字段的值,但无法获取文件,无线电和其他选择字段。这是仅用于文件的小代码
var x = 1;
function validate() {
for(i=0;i<10;i++) {
var filename = $('input[id="f'+ i +'"]').val().replace(/.*(\/|\\)/, '');
alert(filename);
}
return false;
}
$(document).ready(function() {
$("#fd").on("click",".but",function() {
$(this).parent().remove();
});
$("#c").click(function() {
var txt = "<div class='di'><input type='file'id='f"+ x +"'><input type='text' id='t"+ x +"'><button class='but' id='d'> "+ x +" Button </button></div>";
x++;
$("#fd").append(txt);
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="c">Create Element</button>
<br> <br>
<form action="temp.php" onsubmit="return validate()" method="GET">
<div id="fd">
<button id="d">First Element</button>
<input type="submit" name="submit">
</div>
</form>
&#13;
如何使用动态创建的表单元素的id检索数据。考虑10个元素 谢谢您的帮助。
答案 0 :(得分:0)
您可以为所有输入添加相同的class
&amp;使用jQuery获取它们的值如下 -
var inputs = $(".className"); // your class name
// iterate over the inputs any way you want
for(var i = 0; i < inputs.length; i++){
alert($(inputs[i]).val());
}
或以这种方式 -
var valueArray = $('.className').map(function() {
return this.value;
}).get();