Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.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 为什么取消确认对话框后要提交我的表单?_Javascript_Forms_Validation - Fatal编程技术网

Javascript 为什么取消确认对话框后要提交我的表单?

Javascript 为什么取消确认对话框后要提交我的表单?,javascript,forms,validation,Javascript,Forms,Validation,以下是我的示例代码: <button onClick="CheckData()" type="submit"> 因此,我需要前两个条件的确认对话框,否则,我不希望显示该对话框 现在,当满足前两个条件之一时,会弹出确认对话框,但当我单击取消时,它仍会提交表单 有什么建议吗 PS:这段代码是一个演示,与真实代码不同。但概念是相同的。将HTML更改为: <form onsubmit="return CheckData()"> <button type="subm

以下是我的示例代码:

<button onClick="CheckData()" type="submit">
因此,我需要前两个条件的确认对话框,否则,我不希望显示该对话框

现在,当满足前两个条件之一时,会弹出确认对话框,但当我单击取消时,它仍会提交表单

有什么建议吗


PS:这段代码是一个演示,与真实代码不同。但概念是相同的。

将HTML更改为:

<form onsubmit="return CheckData()">
    <button type="submit" />
    ...
</form>

...
说明:

  • 提交表单时调用事件处理程序
  • 当事件处理程序返回
    false
    时,提交被中止

您可以将
事件
对象传递给
检查数据
函数,并在确认返回false时阻止默认操作,同时
事件.preventDefault()


提交
函数检查数据(e){
var预警;
如果(53){
警告=“真的吗?”;
}否则{
警告='';
}
如果(警告:长度>0){
var con=确认(警告);
如果(con){
返回true;
}否则{
e、 预防默认值();
返回false;
}
}否则{
返回true;
}
}

你在哪里读取confirm()返回的值?
如果(waning.length>0){
你在
警告中有一个输入错误
。你在内联事件侦听器中没有返回,并且你有一个输入错误忽略输入错误,在实际项目代码中一切都是完美的@LashaPalelashvili可能重复没有问题。
if (warning.length>0) {
   return confirm(warning);
} else {
   return true; //also tried false
}
<form onsubmit="return CheckData()">
    <button type="submit" />
    ...
</form>