JavaScript表单提交 - 确认或取消提交对话框

mat*_*att 168 html javascript forms confirm submit

对于一个带有警告的简单表单,询问字段是否填写正确,我需要一个执行此操作的函数:

  • 单击按钮时显示警告框,有两个选项:

    • 如果单击"确定",则提交表单
    • 如果单击取消,则会关闭警报框,并可以调整并重新提交表单

我认为JavaScript确认可行,但我似乎无法弄清楚如何.

我现在的代码是:

function show_alert() {
  alert("xxxxxx");
}
Run Code Online (Sandbox Code Playgroud)

Sam*_*iew 369

一个简单的内联JavaScript确认就足够了:

<form onsubmit="return confirm('Do you really want to submit the form?');">
Run Code Online (Sandbox Code Playgroud)

除非您正在进行验证,否则不需要外部函数,您可以执行以下操作:

<script>
function validate(form) {

    // validation code here ...


    if(!valid) {
        alert('Please correct the errors in the form!');
        return false;
    }
    else {
        return confirm('Do you really want to submit the form?');
    }
}
</script>
<form onsubmit="return validate(this);">
Run Code Online (Sandbox Code Playgroud)

  • 不知何故,即使我选择取消,提交也会继续(Chrome 86) (3认同)
  • 需要澄清的是,客户端(在 JavaScript 中)的验证仅应被视为是为了方便用户。JavaScript 代码可由用户自由编辑,因此不应被信任。_real_验证应始终在后端完成,以避免格式错误或恶意数据到达您的数据库或服务器。 (2认同)
  • @SamuelLiew 我仔细检查了它,并意识到它不起作用,因为 asp.net core 中的 `data-ajax=true` 属性。因此,我实现了对提交按钮的检查,而不是 `&lt;button type="submit" onclick="return recognize('Are you certain?')"&gt;Submit&lt;/button&gt;` (2认同)

Maj*_*our 26

function show_alert() {
  if(!confirm("Do you really want to do this?")) {
    return false;
  }
  this.form.submit();
}
Run Code Online (Sandbox Code Playgroud)

  • 此代码将在文档中提交第一个表单. (8认同)

Jas*_*aro 21

您可以使用JS确认功能.

<form onSubmit="if(!confirm('Is the form filled out correctly?')){return false;}">
  <input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/jasongennaro/DBHEz/

  • `onsubmit ="return confirm('表格填写正确吗?');"`会更简单,结果也一样. (25认同)

小智 6

简单易行

<form onSubmit="return confirm('Do you want to submit?') ">
  <input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)