【问题标题】:Skip validation if required如果需要,跳过验证
【发布时间】:2016-05-17 13:31:06
【问题描述】:

我有大约 40 个选项卡的表单,并且在每个选项卡上,每个输入字段都会与一些限制进行比较。单击下一个按钮时,我会验证每个选项卡,如果出现错误,我不会让用户转到下一个选项卡。有时我需要让用户绕过验证,即使出现错误。我设法让它工作,但确认对话框显示了两次。

if (!error){
   //do abc
}else {
    confirm('Continue?');
    if (confirm('Continue?') == true) {
        //do abc
     }
     else return false;
 }

【问题讨论】:

    标签: javascript forms validation error-handling


    【解决方案1】:

    您似乎调用了两次确认函数。我假设这会解决它:

    if (!error){
       //do abc
    }else {
        var confirmed = confirm('Continue?');
        if (confirmed) {
            //do abc
         }
         else return false;
     }
    

    【讨论】:

    • 成功了。谢谢你。现在接受答案还为时过早。以后会做的。如果可能的话,你能否给我一个提示,告诉我如何在确认框中输入一个输入字段,以便需要密码才能继续?
    • 我相信使用内置确认框是不可能的。您可以使用 HTML 制作一个自定义模式框,并让它包含您喜欢的任何输入。您显然仍然需要控制与 JavaScript 的交互性。
    【解决方案2】:

    每次调用confirm,都会显示一个对话框。只需删除第一个 confirm 调用:

    if (!error) {
        //do abc
    } else {
        if (confirm('Continue?') == true) {
            //do abc
        } else return false;
    }
    

    另外,无需与true 比较,因为它已经返回一个布尔值:

    if (!error) {
        //do abc
    } else {
        if (confirm('Continue?')) {
            //do abc
        } else return false;
    }
    

    【讨论】:

      猜你喜欢
      • 2018-09-29
      • 1970-01-01
      • 2014-06-09
      • 1970-01-01
      • 2015-10-30
      • 2017-08-13
      • 1970-01-01
      • 2011-12-20
      • 2021-10-29
      相关资源
      最近更新 更多