当提交按钮被点击时,错误闪烁

问题描述:

我做了一个注册表单,如果你输入姓名或姓氏,它会显示一个写在输入框旁边的错误,我在收音机输入中做了同样的事情。问题是 点击提交按钮时,错误闪烁并消失。按钮类型为提交 我很书面方式代码下来当提交按钮被点击时,错误闪烁

function SignUp() { 
var firstname = $("#firstname").val(); 
var lastname = $("#lastname").text(); 
var date = $("#dd option:selected").text(); 
var month = $("#mm option:selected").text(); 
var yy = $("#yy option:selected").text(); 
var sex = $("input:radio[name=sex]:checked").val(); 
    if ($.trim($("#firstname").val()) == "") { 
    document.getElementById("firstnameerror").innerHTML = "Please write firstname"; 



    if ($.trim($("#lastname").val()) == "") { 
    document.getElementById("lastnameerror").innerHTML = "Please write lastname"; 



    if (!$("input[name='sex']:checked").val()){ 
    document.getElementById("gendererror").innerHTML = "Please select your gender"; 

     } 

    } 
     } 
} 
+0

把它放在小提琴上或添加您的Html代码。 – N20084753

+0

将其添加到html代码不起作用,什么是小提琴 –

+0

http://jsfiddle.net/ - 可以把你的代码放在这里。 – N20084753

当你调用SignUp()功能为您的点击提交按钮必须return false你不提交表单。

使用jQuery,你可以很容易地做到:

$('#submitButtonId').click(function(){ 

SignUp(); 
return false; 

}) 

如果一切顺利的JavaScript验证之后,你可以这样做:

$(#myFormId).submit();

或只是简单:

<input type="submit" name="send" value="SEND" onclick="SignUp(); return false;" /> 
+0

没有错误愚蠢的问题,但在哪里写$(#myFormId).submit(); ($ .trim($(“#lastname”)。val())==“”){ $(“$”){0}这个方法可以使用 这样的其他方法 ( –

+0

) #lastnameerror“)。text(”Please write lastname“); e.preventDefault(); } else { $(“#lastnameerror”)。text(“”); } ' –

你的问题是你不防止默认行为提交的表单。试试这个(简化代码):

function SignUp(e) { 
    var firstname = $("#firstname").val(); 
    var lastname = $("#lastname").text(); 

    if ($.trim($("#firstname").val()) == "") { 
     $("#firstnameerror").text("Please write firstname"); 
     e.preventDefault(); // <!-- prevent form submit in case of errors 
    } 
    else { 
     $("#firstnameerror").text(''); 
    } 

    if ($.trim($("#lastname").val()) == "") { 
     $("#lastnameerror").text("Please write lastname"); 
     e.preventDefault(); 
    } 
    else { 
     $("#lastnameerror").text(""); 
    } 
} 

$('#form').submit(SignUp) 

http://jsfiddle.net/fh6Ar/

而且不与点击事件提交按钮。表格有这个submit event的特别活动。