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>