我有一个包含以下代码的html文件: -
<html>
<head>
<script type="text/javascript">
function addTextArea(){
var div = document.getElementById('div_quotes');
div.innerHTML += "<textarea name='new_quote[]' />";
div.innerHTML += "\n<br />";
}
</script>
</head>
<body>
<form method="post" action="1.php">
<input type="text" name="text_new_author" /><br />
<div id="div_quotes"></div>
<input type="button" value="Add Text Area" onClick="addTextArea();">
<input type="submit" name="submitted">
</form>
</body>
</html>
我想将textarea值存储在PHP数组中。我使用以下代码,此代码将仅存储第一个textarea值。不存储额外的textarea。
1.PHP
if(isset($_POST['submitted']))
{
foreach ($_POST['new_quote'] as $values )
{
echo $values;
}
exit();
}
在此代码中,我只获得了第一个Textarea值。
如果我添加3 textarea并提交。我想要以下输出:
$values1 = First Textarea value
$values2 = Second Textarea value
$values3 = Third Textarea value
答案 0 :(得分:2)
由于您使用的是正常变量,这就是您遇到问题的原因。解决方案是 -
$i =1;
foreach ($_POST['uploaded_files'] as $key=>$value )
{
$values.$i = mysql_real_escape_string($value);
echo $values.$i;
$i++;
}
或者您可以直接使用它: -
foreach ($_POST['uploaded_files'] as $value )
{
echo $value;
}
注意: -
第二个更优选。
答案 1 :(得分:1)
这是一种有效的textarea格式吗? (从您关闭的副本中,您将其定义为<textarea name="" />
)当您将其定义为:
div.innerHTML += "<textarea name='new_quote[]'></textarea>";
另外,请尝试在代码中转义[]
,如下所示:
div.innerHTML += "<textarea name='new_quote\\[\\]'></textarea>";
我记得有一段时间使用查询,我必须这样做才能让它起作用,可能是也可能不是你的解决方案,但值得一试。