如何使用jQuery

时间:2017-12-04 12:59:32

标签: javascript jquery html forms web

我创建了一个小应用程序,我使用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;
&#13;
&#13;

如何使用动态创建的表单元素的id检索数据。考虑10个元素 谢谢您的帮助。

Code image

1 个答案:

答案 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();