我想创建一个表,可以在单击按钮或链接时添加新行,然后让用户输入并将值提交给php并将其存储在数据库中。
问题1:
在我的HTML中,
<script>
document.getElementById('table').innerHTML +=
"<td><textarea id='addRow' name='addRow'></textarea></td>";
var addRow = document.getElementById('addRow').innerHTML; <-- Is this correct? Because I'm unable to get the data, tried with .value and .innerHTML.
document.getElementById('table').innerHTML +=
"<td><a href='page2.php?addRow=" + addRow + "'>Add</a></td>";
</script>
当我添加一行时,它正常工作,当我按下脚本生成的Add
时,它没有获得我输入到textarea中的值。
问题2:
从javascript生成的链接,当点击它时,它会提交如下地址:
page2.php?addRow=
地址由空数据组成,但也应保存在page2.php
中,因为我没有设置任何值的检查。
这是我的page2.php
代码:
<?php
require("Connections/localhost.php");
$addRow = $_REQUEST["addRow"]; <-- I tried with $_GET, $_POST, $_REQUEST.
$query = "INSERT INTO row2 (addRow) VALUES ($addRow)";
$result = mysql_query($query);
if($result)
header("Location:Home.php");
?>
我的代码有什么错误?
编辑:
(12/11/2012)我已将代码上传至here。我该如何解决这个问题?
(17/11/2012)MySQL部分,我做了一些语法错误,就是我忘了给每个VALUES单引号' '
。
解决了:
我将href
更改为另一个javascript函数。
"<td><h4><a href='javascript:send()'>Add</a></h4></td>"
在send()
中,我获得textarea值并使用window.location()
提交。这解决了我的问题。
可能是我的代码不适合这样做,但我会在下次尝试改进。