0

我有以下代码行:

    echo '<INPUT TYPE="submit" name="delete" value="Delete account" onClick="return confirm('Are you sure you want to delete this account?')">';

我如何能够确定用户输入的是或否?

4

3 回答 3

2

PHP 是服务器端的,它不会在客户端做任何事情。单击客户端,因此 PHP 无法处理此问题。

onclick 事件是 JavaScript,它位于客户端。在Mozilla Docs中阅读有关 onclick 事件的更多信息。

confirm()返回一个,boolean真或假。true当用户单击“是”时,false当用户单击“否”时。

如果您想将其发送boolean到 PHP,您需要使用 AJAX 请求,但我认为您不需要它,因为您想停止提交表单。

于 2012-09-02T14:24:13.207 回答
1

您的代码中有语法错误,您需要转义内部'

echo '<INPUT TYPE="submit" name="delete" value="Delete account"
   onClick="return confirm(\'Are you sure you want to delete this account?\')">';

您可以添加一个带有激活 js 标志的小脚本,以检测是否确认删除。例如:

<input type="hidden" name="js_active" value="false">
<script type="text/javascript">
document.getElementsByName('js_active')[0]="true";
</script>

因此,如果公式被传输并且js_activetrue您可以猜测用户已确认删除。如果是falsejavascript 可能已停用,您无法知道删除是否已确认。

于 2012-09-02T14:22:29.980 回答
0

由于confirm将根据用户单击的内容返回真或假,因此您将“知道”用户单击是,当请求到达您的服务器时,因为如果用户单击否,您将阻止提交。

除此之外,除非您在点击时修改请求内容,否则无法找出用户点击了什么,例如,您必须将点击结果作为参数发送到服务器,作为表单的一部分或通过 URL 参数。但请注意,这只会在用户在浏览器中激活 JavaScript 时发送。

于 2012-09-02T14:23:37.290 回答