我有以下代码行:
echo '<INPUT TYPE="submit" name="delete" value="Delete account" onClick="return confirm('Are you sure you want to delete this account?')">';
我如何确定用户是否输入?
答案 0 :(得分:2)
PHP是服务器端,它在客户端上没有做任何事情。单击是在客户端上,因此PHP无法处理此问题。
onclick事件是JavaScript,它位于客户端。在the Mozilla Docs中了解有关onclick事件的更多信息。
confirm()
返回boolean
,无论是真还是假。当用户点击'否'时,用户点击'是',true
时会false
。
如果你想将boolean
发送给PHP,你需要使用AJAX请求,但我认为你不想要它,因为你想停止提交表单。
答案 1 :(得分:1)
您的代码中存在语法错误,需要转义内部'
:
echo '<INPUT TYPE="submit" name="delete" value="Delete account"
onClick="return confirm(\'Are you sure you want to delete this account?\')">';
您可以添加一个小脚本,添加激活的js标志以检测删除是否已确认。 E.g:
<input type="hidden" name="js_active" value="false">
<script type="text/javascript">
document.getElementsByName('js_active')[0]="true";
</script>
因此,如果传输公式并且js_active
为true
,您可以猜测用户已确认删除。如果是false
,则javascript可能已停用,您无法确定删除是否已确认。
答案 2 :(得分:0)
由于confirm
将返回true或false,具体取决于用户点击的内容,您将“知道”用户点击是,当请求到达您的服务器时,因为如果用户单击否,则表示您阻止提交。
除此之外,除非您在点击时修改请求内容,否则无法找出用户点击的内容,例如您必须将点击结果作为参数发送到服务器,作为表单的一部分或通过URL参数。但请注意,这只会在用户在浏览器中激活JavaScript时发送。