我怎么能得到所有的元素和值从一个表单与jquery混合类型
How can I get all elements and values from a form in with jquery with mixed types
我知道如何获得所有表单元素与他们的值在一个单一的数组与jquery的"。每个"的方法。如果我警告:input[type:text]元素的值,我可以看到它们——但是如果我想警告这个数组中任何复选框的值,它总是显示"on"。
在某种程度上有可能有表单的内容元素:1)在一个数组中,+ 2)它显示我的文本字段的值和复选框的选中状态?
我希望能够迭代这个表单元素数组和验证数据,但我不能确定这个混合数组中的复选框的选中状态。
希望这不是太混乱关于
你看了。serializearray()吗?
跳过jQuery,使用DOM。表单有一个方便的elements
属性,它包含表单中的所有表单控件(输入、选择、按钮等)。使用每个元素的type
和tagName
属性来区分它们,并使用复选框和单选按钮的布尔checked
属性来查看它们是否被选中。这些东西在所有主流的可脚本浏览器中都能完美地工作。
小例子:
var els = form.elements;
for (var i = 0, len = els.length; i < len; ++i) {
if (els[i].tagName == "INPUT") {
if (els[i].type == "checkbox" || els[i].type == "radio") {
alert("Checked: " + els[i].checked);
} else {
alert("Value: " + els[i].value);
}
}
}
看一下这是如何完成的:
http://jsfiddle.net/VNPsj/您将能够看到每个输入文本和复选框的值。我把它们放在提醒中,但是你可以把它们赋值给变量或者你想要的任何东西。神奇的是,jQuery选择器(我使用的参考在这里:http://api.jquery.com/multiple-attribute-selector/)允许您抓取表单的选定部分。
要获取复选框的"值",您需要检查$(this).attr('checked')方法的值,其中这是您正在迭代的当前复选框元素。
尝试使用。checked代替。value。这将给你一个真/假状态。
当您遍历列表时,检查元素。键入以确定如何处理它。例如
if (element.type == "checkbox") {
//use element.checked
} else {
//use element.value
}
如果您只是想从表单中获取数据,那么就像Rusty提到的那样使用. serializearray。但是,如果您试图为表单验证这样做,那么您最好实现jQuery Validate插件。
- jquery mobile上多个页面上的一个表单
- 循环遍历包含另一个表单的表单
- 如何在javascript转换编码中将一个动态值从一个表单添加到另一个页面
- 我确实有一个表单,如果用户输入了输入,它应该检查否定或空的输入框,并抛出一条警告消息
- 如何通过 JS 将内容从一个表单中的一个文本框复制到另一个表单中的另一个文本框
- Slding表单不会一次显示一个表单
- html链接onclick弹出一个表单
- 使用 javascript 将值从一个表单传递到另一个表单
- 当在一个表单中进行更改时,ng-disabled 会触发所有表单验证
- 如何将一个表单中的项目添加到 Rails 中另一个表单的下拉选项
- 如何在一个表单标记中验证多个字段集
- 如何从一个表单的输入字段中获取数据,并使用JQuery在不同的表单中填充相同的输入类型
- 在PHP中将下拉选择列表的内容从一个表单传递到另一个表单
- 一个表单包含多个提交操作
- Javascript-更正用户名和密码以启用另一个表单
- 在ul后面添加一个表单
- angular js如何在提交一个表单时验证另一个表单
- 如何将某些HTML从一个页面转换为另一个表单
- 使用JavaScript将数据从一个表单显示到另一个页面
- 两个表单,一个选择/下拉框-需要将选择值从一个表单复制到另一个表单