我有这个代码工作正常!:
<script>
function get(userfirstname, userlastname){
alert(userfirstname);
return false;
}
</script>
<form action="" method="POST">
<input type="text" name="userfirstname">
<input type="text" name="userlastname">
<input type="submit" onclick="return get(userfirstname.value, userlastname.value);">
</form>
&#13;
我试图用这样的数组来捕获输入值:
<script>
function get(user){
alert(user["firstname"].value);
return false;
}
</script>
<form action="" method="POST">
<input type="text" name="user[firstname]">
<input type="text" name="user[lastname]">
<input type="submit" onclick="return get(user);">
</form>
&#13;
我尝试了很多不同的场景,没有意义:(
任何暗示都会受到赞赏。
答案 0 :(得分:1)
您可以简单地定位form
处理程序中的onclick
元素,查询所有input
元素以迭代它们并构建您正在寻找的array
。
下面是一个示例,说明如何构建包含每个输入元素名称和值的对象数组,不包括一次禁用和提交元素。
function get(evt){
var fields = [];
event.target.parentElement
.querySelectorAll('input:not([disabled]):not([type="submit"])').forEach(function(e) {
fields.push({name: e.name, value: e.value});
})
console.log(fields);
return false;
}
<form>
<input type="text" name="firstname" placeholder="Name"><br>
<input type="text" name="lastname" placeholder="Surename"><br>
<input type="text" name="foo" value="foo will be excluded" disabled><br>
<input type="submit" onclick="return get();">
</form>
答案 1 :(得分:1)
获取此功能的jQuery方法
function get(){
var fields = [];
var arr = $('form').not('input[type="submit"]').find('input[type="text"]')
$(arr).each(function(i,val){
fields.push({name:$(val).attr('name'),value:$(val).val()})
})
}