如何获取JS提示框的价值,然后将其传递给PHP并将其保存在数据库中?

时间:2014-08-19 09:31:34

标签: javascript php jquery mysql ajax

我有一个home_admin.php文件,用户可以使用此代码拒绝条目:

echo "
    <td>
        <a href=changeStatReject.php?id=" . $row['id'] . ">"  . "
            <img src='media/reject.png'>" . "
        </a>
    </td>
";

点击链接后,它会将用户引导至具有条目特定ID的changeStatReject.php页面。

我的目标是在代码执行之前显示一个JavaScript PromptBox,询问拒绝的原因。

我使用此代码:

function MyReason(){
    var reason = prompt("Reason:");
    document.getElementById("reason").value = reason;
    document.getElementById("form").submit();
}

然后我将其添加到home_admin.php页面:

<form id="form" method="POST" action="changeStatReject.php">
    <button onclick="MyReason()">Click Me!</button>
    <input type="hidden" id="reason" name="reason"/>
</form>

即使我从提示框中获取了值,changeStatReject操作的脚本也不再有效。

我认为与<form action="changeStatReject.php"><a href=changeStatReject.php?id=" . $row['id'] . ">

存在冲突

有关如何获取提示框值的任何建议,将其保存到数据库并同时更新(拒绝)特定条目的状态?

感谢Mates,

2 个答案:

答案 0 :(得分:2)

<?php
 echo "<td> <a href= "#" onclick='myreason(".$row['id'] . "')>"  . "<img src='media/reject.png'>" . "</a></td>";
?>
.............
function MyReason(id){
    id.preventDefault();    
    var reason = prompt("Reason:");
    document.getElementById("reason").value = reason;
    document.getElementById("id").value = id;
    document.getElementById("form").submit();
}
.............
<form id="form" method="POST" action="changeStatReject.php">
    <input type="hidden" id="id" name="id" />
    <input type="hidden" id="reason" name="reason"/>
</form>
...............
Now you can handle the POST variables in your changeStatReject.php as you want.

答案 1 :(得分:0)

在表单中添加<input type="hidden" name="id" value='id_you_need_to_pass'/>并通过此表单提交调用changeStatReject.php。