gpt4 book ai didi

javascript 将数组项添加到表单值

转载 作者:行者123 更新时间:2023-12-02 19:16:47 25 4
gpt4 key购买 nike

我有一个带有隐藏字段的表单:

<input type="hidden" name="newdesc[]" id="newdesc" />

我有一个自动查找和一个加号按钮,因此加号按钮将自动查找的字段值添加到数组中:

newdesc_a.push(document.getElementById('autocomplete1').value);
var x=document.getElementById("businesslist");
x.innerHTML=newdesc_a;
document.getElementById('newdesc').value = newdesc_a;

(newdesc_a 之前已声明为数组)

它会更新 div OK(businesslist),但不会将值分配给 newdesc。

我确信这很简单,但它让我发疯!

最佳答案

鉴于 name="newdesc[]" 属性,我假设 PHP 在服务器端。当您提交 key 两次或多次时,脚本中只能通过 $_REQUEST 使用最后一个值。如果键以 [] 结尾,则 PHP 会构建一个数组并通过 $_REQUEST['key'] 将其提供给您的脚本。请注意,此行为是特定于应用程序的,与 HTTP 级别的数组不同。

现在,您想要将一个数组从客户端 (Javascript) 传递到后端 (PHP)。您有两个选择:

  1. 使用专有格式,例如用逗号或冒号分隔值,并在服务器端拆分字符串(或者您可以使用现有格式,如 JSON、XML...)

    <
  2. 利用 PHP 语法传递数组

看来您想采用第二种方式,所以您需要提交如下的表单

<input name="email[]" value="joel@example.com" />
<input name="email[]" value="mark@people.com" />
<input name="email[]" value="bill@hello.com" />

如果您像这样构建表单,PHP 将能够访问 $_REQUEST 中的普通数组。现在,您遇到了按需以编程方式构建表单的问题。这是我能想到的最好的(jQuery):

var email = $("#autocomplete").value;

// if you really need to keep emails in an array, just
// emails.push(email);

$('<input type="hidden">').attr({
name: 'email[]',
value: email
}).appendTo('#myForm');

关于javascript 将数组项添加到表单值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13028741/

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