Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尽管使用了Onsubmit确认,HTML表单仍然设置PHP$\u POST[]_Javascript_Php_Html_Forms_Post - Fatal编程技术网

Javascript 尽管使用了Onsubmit确认,HTML表单仍然设置PHP$\u POST[]

Javascript 尽管使用了Onsubmit确认,HTML表单仍然设置PHP$\u POST[],javascript,php,html,forms,post,Javascript,Php,Html,Forms,Post,在HTML中- <form id="anID" method="post" onsubmit="confirm('Want to make this change?')" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?> <input type="text" name="amount"> <input type="submit" name="add" value="Add

HTML中-

<form id="anID" method="post" onsubmit="confirm('Want to make this change?')" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>
    <input type="text" name="amount">
    <input type="submit" name="add" value="Add Amount">
</form>
if (isset($_POST['add'])) { Add amount to database }
我的问题是,尽管在出现
onsubmit
对话框时按了“取消”,POST表单仍然设置,并且
PHP
If()
语句中的所有代码仍然提交,但我不希望出现这种情况

在激活
isset()
之前,是否有方法确认提交


最好是一个简单的解决方案,不需要单独的JS函数

您需要
返回
来自
确认()
的响应以停止表单提交(如果它返回
false
。返回
true
将允许表单提交):


首先,您还没有关闭表单语句

最重要的是,您必须将returnfromdalog设置为form。 这是正确的一行:

<form id="anID" method="post" onsubmit="return  confirm('Want to make this change?')" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

<form id="anID" method="post" onsubmit="return  confirm('Want to make this change?')" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">