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>