我知道如何处理以下内容:<input type="text" name="Textbox_T[]" id="txBox1" />
但我有一个未知数量的盒子(它们是通过javascript生成的,只有在提交后我才知道(,它们的名称如下:
<input type="text" name="Textbox_T1" id="txBox1" />
文本框_T1
文本框_T2
文本框_T3
文本框_T4
etc
因为我不能:$_GET['Textbox_T'.$i]
我该怎么做?
您可以将文本框名称设置为数组:
<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 />";
}
}
edit:如果不能更改名称,则可以迭代所有GEt值:
foreach ($_GET AS $key=>$value){
if (strpos($key, "Textbox") === 0){
echo $value." has been entered in textbox ".$key."<br />";
}
}
理想情况下,您应该让javascript添加要作为数组提交的文本区域:
<textarea name="Textbox_T[]" ></textarea>
(我假设你说的是文本区域(,因为一旦提交,你只需要在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
}
}