生成行,输入后通过href使用Javascript将数据发送到php

时间:2012-11-14 02:01:33

标签: php javascript mysql

我想创建一个表,可以在单击按钮或链接时添加新行,然后让用户输入并将值提交给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()提交。这解决了我的问题。

可能是我的代码不适合这样做,但我会在下次尝试改进。

0 个答案:

没有答案