在提交PHP表单之前显示确认提示框

4
<script type="text/javascript">

var validate = (function() {
  var reClass = /(^|\s)required(\s|$)/;  // Field is required
  var reValue = /^\s*$/;                 // Match all whitespace


  return function (form) {
    var elements = form.elements;
    var el;
    var amount = document.forms["myForm"]["amount"].value;
    var quantity = document.forms["myForm"]["quantity"].value;

    for (var i=0, iLen=elements.length; i<iLen; i++) {
      el = elements[i];

      if (reClass.test(el.className) && reValue.test(el.value)) {
        // Required field has no value or only whitespace
        // Advise user to fix
        alert('Please fix ' + el.name);
        return false;
      }

    }
    if (amount == null || amount == "" || isNaN(amount)) {
        alert("Total Amount must be only numbers");
        return false;
    } 
    else if (quantity == null || quantity == "" || isNaN(quantity)) {
        alert("Quantity must be only numbers");
        return false;
    }
   else{
    confirm("Confirm Order Submission ?");

}

  }
}());

</script>

这是一个使用"required" id进行强制输入字段验证的表单验证脚本,效果很好。我只想在最后一个else if语句后加一个确认提示框,我尝试使用confirm(),但即使我点击“取消”,表单仍然会被提交。
3个回答

2
else{
    if (confirm("Confirm Order Submission ?")) return true;
    else return false;       
    }

这使得它可以正常工作!

0

<!DOCTYPE html>
<html>
<body>

<p>Click the button to display a confirm box.</p>

<button onclick="myFunction()">Try it</button>

<script>
var x;

function myFunction() {
  x =  confirm("Press a button!");
  alert(x)
  if(x === true){

   alert("Call Submit !!!!");

  }else{

   alert("Don't Call Submit !!!!");
  }

}


</script>

</body>
</html>

尝试使用w3school的代码显示确认框

https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_confirm

confirm()方法返回true,如果用户单击了“确定”并返回false,否则返回false。


1
尝试了这个,点击了取消按钮,但表单仍然被提交了... @Nisal Edu - Shujaat Shaikh
变量x获取confirm()返回的值(true/false),在调用submit函数之前请检查该值。 - Nisal Edu

0

请参考https://www.w3schools.com/jsref/met_win_confirm.asp,您可以使用confirm()方法。

var txt;
var r = confirm("Press a button!");
if (r == true) {
    txt = "You pressed OK!";
    // Continue submit the form
} else {
    txt = "You pressed Cancel!";
    // Do nothing or return to form
} 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接