0

我已经阅读了许多问题并搜索了几个小时,但我仍然找不到我真正想要的解决方案。

<form method="POST">
  <input type="checkbox" name="fruit" value="0" />No Preference
  <input type="checkbox" name="fruit" value="1" />Apple
  <input type="checkbox" name="fruit" value="2" />Orange
  <input type="checkbox" name="fruit" value="3" />Banana
</form>

print_r($_POST);

我已经对复选框值 0 到 1,2,3 进行了验证,因此它们会反转,我使用循环 javascript 搜索元素名称来做到这一点。问题是,我必须使用元素名称而不将其更改为数组名称。(例如 Fruit => Fruit[] )。所以我需要使用这个元素名称来检索客户输入的所有检查信息。我已经看到这可以在 ASP 中完成,但我不知道他们是如何做到的,因为它已经很久以前了。

我的问题是,任何人都可以在不将元素名称更改为数组格式的情况下如何做到这一点(例如 Fruit => Fruit[] )?TT

任何帮助将不胜感激。谢谢..

4

2 回答 2

0

正如您已经想到的那样,当您多次提交相同的名称时,最新的名称将覆盖以前的名称。一个解决方案是设置一个隐藏字段

<input type="hidden" value="" name="foobar_as_array">

并在提交时使用 jQuery 或纯 JS 将您的值连接到该字段中

<form ... onSubmit=$('#foobar_as_array').value(...concatenate them...);">
于 2013-05-28T11:16:36.887 回答
-3

我使用这一行更改了验证:

var GenBox = eval("document.forms['SubmitSearchAll']['" + oCheckBox+"[]']");

它对我有很大帮助。现在解决了。

感谢大家的贡献。

于 2013-05-29T15:39:58.797 回答