在表单提交中,我想获取所有表单字段并将它们保存在数组中。但是文本框,选择框,输入字段,复选框和单选按钮很少。这是一个内置在WordPress中的动态表单,用户可以从后端更改这些字段。 这是我的代码
<script>
var form_label = [];
var form_value = [];
i = 0;
jQuery('#form6 .wdform-field').each(
function(index){
var form_label[i++] = jQuery(this).find(label).text();
var form_value[i++] = jQuery(this).find(input).val();
}
);
</script>
在每个表单字段之外有div
个类wdform-field
,但我不知道此字段将是输入字段,复选框或文本区域。现在正如上面的代码中提到的那样,它仅适用于输入字段,但它不适用于其他表单字段,如文本区域或复选框。因此,在这种情况下,我如何正确地从所有表单字段中获取这些值及其标签。
非常感谢您的帮助。
答案 0 :(得分:1)
可能是我无法很好地解释我的问题。但是这段代码对我有用。
<script>
var form_label = new Array();
var form_value = new Array();
jQuery('#form6 .wdform-field').each(
function(index){
form_label.push(jQuery(this).find('label').text());
form_value.push(jQuery(this).find(':input').val());
}
);
</script>
使用此代码,我可以从所有表单字段中获取值.find(':input')
并且值现在也在数组中正确保存。
答案 1 :(得分:0)
使用SerializeArray()获取数组
中的表单字段jQuery(form.event).serializeArray();
答案 2 :(得分:0)
答案 3 :(得分:0)
正如其他答案中所指出的那样,输入可以通过Jquery的Serialize / SerializeArray捕获。
$( "form" ).on( "submit", function( event ) {
document.write(JSON.stringify($( this ).serializeArray()));
event.preventDefault();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<form name="tstForm">
<input type="text" value="Jor" name="txtName" />
<input type="text" value="Dar" name="txtLastName" />
<select name="Qual">
<option>A</option>
<option>B</option>
<option>C</option>
<input type="submit" />
</select>
</form>
</div>