admin管理员组文章数量:1391995
I have the following form:
<form>
<input type="radio" name="foo" value="1" checked="checked" />
<input type="radio" name="foo" value="0" />
<input name="this" value="xxx" />
<select name="bar">
<option value="hi" selected="selected">Hi</option>
<option value="ho">Ho</option>
</select>
<a class="js-add" href="#" >Add</a>
</form>
I have the following function which passes the entire form when the add link is clicked:
$(".js-add").click(function (e) {
e.preventDefault();
values = getFormValues($("form"));
});
getFormValues = function($form) {
var bar = $form.bar.val();
}
How do I retrieve a particular input value from the form object. So for example in the above getFormValues
function I want to grab the value of the bar input field but the above doesn't work. Normally I'd just do this: $bar.val();
But how do I get the same from the form object?
I have the following form:
<form>
<input type="radio" name="foo" value="1" checked="checked" />
<input type="radio" name="foo" value="0" />
<input name="this" value="xxx" />
<select name="bar">
<option value="hi" selected="selected">Hi</option>
<option value="ho">Ho</option>
</select>
<a class="js-add" href="#" >Add</a>
</form>
I have the following function which passes the entire form when the add link is clicked:
$(".js-add").click(function (e) {
e.preventDefault();
values = getFormValues($("form"));
});
getFormValues = function($form) {
var bar = $form.bar.val();
}
How do I retrieve a particular input value from the form object. So for example in the above getFormValues
function I want to grab the value of the bar input field but the above doesn't work. Normally I'd just do this: $bar.val();
But how do I get the same from the form object?
-
Why can't you just do
$('id').val()
? – BoeNoe Commented Oct 3, 2016 at 17:36 -
Using jquery method like
.find()
is better but you need to change$form.bar.val()
to$form[0].bar.val()
and addreturn
at the end of function. – Mohammad Commented Oct 3, 2016 at 17:39
1 Answer
Reset to default 6What you're passing into your function isn't a form object, it's a jQuery object which is wrapped around an HTMLFormElement
object. jQuery's API lets you easily find elements within that element via find
(one of the tree traversal methods):1
$form.find("[name=bar]").val()
Then you need to return that value from your function, so:
return $form.find("[name=bar]").val();
If the name isn't a valid CSS identifier (it is in your example, but...), use quotes around it:
return $form.find("[name='bar']").val();
1 It's pretty easy with the native DOM as well, but you're using jQuery, so...
本文标签: javascriptjQuery get value from form objectStack Overflow
版权声明:本文标题:javascript - jQuery get value from form object? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744666660a2618575.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论