jquery获得表单字段值

我正在使用jQuery模板来dynamic生成在同一页面上的多个元素。 每个元素看起来像这样

<div id ="DynamicValueAssignedHere"> <div class="something">Hello world</div> <div class="formdiv"> <form name="inpForm"> <input type="text" name="FirstName" /> <input type="submit" value="Submit" /> </form> </div> </div> 

我想用jquery来处理提交的表单。 如果出现问题,我也想将表单值恢复到以前的值。 我的问题是如何获得使用JQuery的input框的值? 例如,我可以通过做“class”来获得div的值

 var something = $(#DynamicValueAssignedHere).children(".something").html(); 

以类似的方式,我想能够检索文本框的值。 现在,我试了

 var text = $(#DynamicValueAssignedHere).children(".formdiv").findnext('input[name="FirstName"]').val(); 

但似乎没有工作

你必须使用value attribute来获得它的价值

 <input type="text" name="FirstName" value="First Name" /> 

尝试 –

 var text = $('#DynamicValueAssignedHere').find('input[name="FirstName"]').val(); 

它可以比你所做的更简单。

HTML:

 <input id="myField" type="text" name="email"/> 

JavaScript的:

 // getting the value var email = $("#myField").val(); // setting the value $("#myField").val( "new value here" ); 

另一种方法,不用search字段html:

 var $form = $('#' + DynamicValueAssignedHere).find('form'); var formData = $form.serializeArray(); var myFieldName = 'FirstName'; var myFieldFilter = function (field) { return field.name == myFieldName; } var value = formData.filter(myFieldFilter)[0].value; 
 var textValue = $("input[type=text]").val() 

这将获得所有文本框的所有值。 你可以使用像child,firstchild等方法来磨合。像form $('form [name = form1] input [type = text]')更容易使用ID来定位元素,但是如果它是纯dynamic的,你可以得到所有input值然后通过JS循环。

如果你知道input的id,你只需要使用这个:

 var value = $("#inputID").val(); 
 // for getting the value from input type text var value = $("input[type=text]").val(); // for getting the value from by input type name var textValue = $("input[name=text]").val() 
 $("form").submit(function(event) { ///First Field Value var firstfield_value = event.currentTarget[0].value; ///Second Field Value var secondfield_value = event.currentTarget[1].value; alert(firstfield_value); alert(secondfield_value); event.preventDefault(); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form action="" method="post" > <input type="text" name="field1" value="value1"> <input type="text" name="field2" value="value2"> </form>