gpt4 book ai didi

JavaScript:表单处理

转载 作者:行者123 更新时间:2023-11-28 10:08:21 26 4
gpt4 key购买 nike

我尝试通过 AJAX 发送一个表单,但在将其转换为 JSON 字符串时遇到问题。当以传统方法提交表单时,POST 数组被排序为 2D 数组,这是应该的。我遇到的问题是 Javascript 无法将名称识别为二维数组。下面是我正在努力实现的目标的示例。此外,它是一个动态表单,因此想象一下用户最多可以添加七个部分。

<form id="reg">
//Week 1: rendered by php
<input type="checkbox" value="sunday" name="week[0][]" />
//Imagine everyday of the week listed
<input type="checkbox" value="saturday" name="week[0][]" />

//Week 2: this section would be rendered by javascript when the user pressed a button
<input type="checkbox" value="sunday" name="week[1][]" />
//Imagine everyday of the week listed
<input type="checkbox" value="saturday" name="week[1][]" />
</form>

//PHP interpretation
Array(
0=>Array(Sunday...Saturday),
1=>Array(Sunday...Saturday)
)

//Javascript interpretation
0=>Sunday
...
6=>Saturday
7=>Sunday
...
13=>Saturday

为了澄清我的问题,我是否可以/如何让 javascript 将表单名称解释为二维数组?

//Javascript code
function parseForm(){
var x;
formContents = new Object();

for(x = 0; x < reg.length; x++){
formContents[reg[x].name] = reg[x].value;
}

//afterwards, send to another function to convert to json
}

最佳答案

你看了吗http://api.jquery.com/jQuery.post/ ?数据类型可以是 json。之后,您使用 http://api.jquery.com/jQuery.parseJSON/ .

这里是如何添加更多字段的示例:* 使用一个字段来存储当前周数(标签中的隐藏字段)* Append函数添加字段(下面的jQuery点击函数)

<script>
$('#add').click(function(){
// setup variable
var count = $('input[name=week_count]').val();

// debug
alert('current count value is ' + count);

// now append all 7 days
// will work this with an array and a string
var days = array('sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday'. 'saturday'. 'sunday');

// add + 1 to the count
var count = count + 1;
// update the field
$('input[name=week_count]').attr('value', count);

var string = '';
for(var i in days){
string+= '<input type="checkbox" name="week[' + count + '][]" value="' + days[i] + '" />';
}

// append to the div id reg
$('#reg').append(string);

// done
});
<script>

<html>
<input type="hidden" name="week_count" value="0" />
</html>

关于JavaScript:表单处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7883768/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com