PHP / Javascript:重置表单按钮不起作用,代码内部

时间:2010-05-13 18:36:17

标签: php javascript

基本上我想要一个确认框,当他们点击按钮询问他们是否确定要重新启动时会弹出,如果是,则会销毁会话并将其带到第一页。继承人我得到的......

echo "<form id=\"form\" name=\"form\" method=\"post\" action=\"nextpage.php\">\n";
echo "  <input type=\"button\" name='restart' value='Restart' id='restart'
        onclick='restartForm()' />";

以及脚本......

<script type=\"text/javascript\">
     <!--
    function restartForm() {
    var answer = confirm('Are you sure you want to start over?');
    if (answer) {
        form.action=\"firstpage.php\";
        session_destroy();
        form.submit();
    } else
        alert ('Restart Cancelled');
    }
    // --
</script>";

编辑:请注意,按下按钮会弹出确认框,但如果单击“确定”,则有时不会发生任何事情。有时如果你点击取消它仍然提交表格(到原始行动)

2 个答案:

答案 0 :(得分:0)

除非Javascript中的session_destroy()方法实际上向PHP脚本发送请求,否则看起来您正试图将PHP代码放入javascript中,这将无法正常工作。

你应该尝试将它们重定向到类似firstpage.php?reset=1的内容,在PHP脚本中,你可以检查重置标志,然后调用session_destroy()

答案 1 :(得分:0)

你应该使用

onclick='restartForm(); return false;'

阻止发送表单。

另外,session_destroy()不是JS AFAIK ...

编辑:您还应该记住会话是服务器端,而不是客户端,因此如果您想操纵它们,则无法在JS中执行。你唯一能做的就是调用PHP(例如通过AJAX)来处理会话。