我知道如何处理以下内容:
<input type="text" name="Textbox_T[]" id="txBox1" />
但我有一个未知数量的方框(它们是通过javascript生成的,只有在我们提交后才知道),其名称如下:
<input type="text" name="Textbox_T1" id="txBox1" />
Textbox_T1
Textbox_T2
Textbox_T3
Textbox_T4
等
因为我做不到:
$_GET['Textbox_T'.$i]
我该怎么做?
答案 0 :(得分:2)
您可以将文本框名称设置为数组:
<input type="text" name="textboxes[]" />
<input type="text" name="textboxes[]" />
<input type="text" name="textboxes[]" />
<input type="text" name="textboxes[]" />
然后在代码中
if (is_array($_GET["textboxes"])){
foreach ($_GET["textboxes"] AS $value){
echo $value." entered in a textbox.<br />";
}
}
编辑:如果您无法更改名称,则可以迭代ALL 得到值:
foreach ($_GET AS $key=>$value){
if (strpos($key, "Textbox") === 0){
echo $value." has been entered in textbox ".$key."<br />";
}
}
答案 1 :(得分:1)
理想情况下,你有javascript添加textareas作为数组提交:
<textarea name="Textbox_T[]" ></textarea>
(我假设你正在谈论textareas),因为那样你只需要在PHP提交后循环遍历该项:
foreach($_GET['Textbox_T'] as $text){
//... do something
}
但是,如果你坚持使用它,你可以循环遍历提交的_GET数组并尝试根据子字符串进行匹配:
$prefix = "Textbox_T";
foreach($_GET as $key=>$value){
if (substr($key,0,strlen($prefix))==$prefix){
//this is one of them! do something
}
}