2015-05-27 67 views
0

我试图停止提交如果存在错误,并通过提交如果没有错误存在。控制提交

这只是代码的一部分。正则表达式工作正常,错误文本也显示出来。问题是,现在我试图控制提交过程,并且由于错误(控制台没有显示任何内容),错误文本没有显示出来,并且即使输入错误存在,提交也正在进行。

有一个错误,我想不出(无jQuery,请)

var sub = document.querySelector("#register input[type='submit']");//the submit botton 
var err_text_1 = "First name must be filled out!"; 

sub.onsubmit = function(){ 
    if (first_name == null || first_name == "") { 
     err_holder_1.innerHTML = err_text_1; 
     return false; 
    } 
    else { 
     err_holder_1.style.display = "none"; 
    } 
} 
+0

我们可以看到根据HTML的形式?没有它,我们不能很好地帮助。 – laruiss

回答

0

为了防止提交在函数中添加事件,像这样返回false:

sub.onsubmit = function (event) { 

    // Will prevent submit 
    event.preventDefault(); 
    return false; 

}; 

而且选择的形式你提交的不是按钮本身。所以:

var sub = document.getElementById('ActionForm'); 

希望这会有所帮助。

+0

返回false并且preventDefault具有相同的结果。并且只能用于停止提交,例如需要在测试有效性的情况下:http://stackoverflow.com/questions/1357118/event-preventdefault-vs-return-false – mplungjan

0

您需要选择喜欢

var sub = document.querySelector("#register");//If register is your form id Not input[type='submit']