我已获得以下代码。
的JavaScript
<script>
function postUser() {
var user = $('span input').serialize;
alert(user.username);
}
</script>
HTML
<span>
User name : <input type="text" name="username"><br />
Password: <input type="password" name="password" /><br />
First name: <input type="text" name="firstName" /><br />
Last name: <input type="text" name="lastName" /><br />
<button onclick="postUser()">Submit</button>
</span>
当我填充UI中的项目时,警报显示&#34; undefined&#34; - 但我想通过序列化数组它应该是一个JSON对象?有关用户名未定义的任何想法吗?
答案 0 :(得分:12)
您忘记了()
以便调用该功能。
var user = $('span input').serialize();
此外,.serialize()
会为您提供string
结果,而不是对象。
也许你想要这个:
var username = $('span input[name=username]').val();
如果你想要一个引用所有值的对象,你需要做它。
var vals = {};
$('span input').each(function() {
vals[this.name] = this.value;
});
var name = vals.username;
答案 1 :(得分:1)
答案 2 :(得分:0)
.serialize()用于将一组表单元素编码为一个字符串以进行提交。它不允许您将表单值作为对象进行访问。 Read more
HTML
<span>
User name : <input type="text" name="username"><br />
Password: <input type="password" name="password" /><br />
First name: <input type="text" name="firstName" /><br />
Last name: <input type="text" name="lastName" /><br />
<button id="btn" onclick="postUser()">Submit</button>
</span>
Jquery的
$("#btn").click(function(){
alert($('input[name="username"]').val());
});