繁体   English   中英

单击确认框终止php表单操作

[英]terminating the php form action on click of confirmation box

我们使用这个javascript警告用户,现在我想将此功能添加到我的html表单,它使用post方法将数据发送到我的php表单处理页面。

现在我想要的是终止操作,如果用户按下取消按钮,这意味着不应该发送使用post方法发送的所有数据,并且除非他/她,否则该人将无法处理该表单单击“ OK按钮。 那有可能吗? 或者这只是一些愚蠢的问题?

<html>
<head>
<script type="text/javascript">
function show_confirm()
{
var r=confirm("Press a button!");
if (r==true)
  {
  alert("You pressed OK!");
  }
else
  {
  alert("You pressed Cancel!");
  }
}
</script>
</head>
<body>

<input type="button" onclick="show_confirm()" value="Show a confirm box" />

</body>
</html>

首先,你应该只将你的ajax调用放在r ===的部分中如果用户单击取消,你将不会向服务器发送任何数据。

第二,如果你想终止一个用户已经做过的动作(= ajax call)(意思是,她点击OK按钮并调用ajax将数据发布到你的服务器上),那将会更难,因为你将需要一个服务器端代码,将执行'回滚'。 您无法在数据到达服务器之前“捕获”数据,因此您的选择是能够执行回滚,然后从客户端检查状态。

在表单提交上调用confirm ,而不是单击按钮,然后将按钮更改为提交按钮:

<form onsubmit="return show_confirm();">
    <input type="text" name="test" value="test"><br>
    <input type="submit" value="Show a confirm box">
</form>

添加return false; 如果点击cancel

function show_confirm() {
    var r=confirm("Press a button!");
    if (r===true) {
        alert("You pressed OK!");
    } else {
        alert("You pressed Cancel!");
        return false;
    }
}

另见我的例子

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM