当提交按钮被点击时,错误闪烁
我做了一个注册表单,如果你输入姓名或姓氏,它会显示一个写在输入框旁边的错误,我在收音机输入中做了同样的事情。问题是 点击提交按钮时,错误闪烁并消失。按钮类型为提交 我很书面方式代码下来当提交按钮被点击时,错误闪烁
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";
}
}
}
}
当你调用SignUp()
功能为您的点击提交按钮必须return false
你不提交表单。
使用jQuery,你可以很容易地做到:
$('#submitButtonId').click(function(){
SignUp();
return false;
})
如果一切顺利的JavaScript验证之后,你可以这样做:
$(#myFormId).submit();
或只是简单:
<input type="submit" name="send" value="SEND" onclick="SignUp(); return false;" />
没有错误愚蠢的问题,但在哪里写$(#myFormId).submit(); ($ .trim($(“#lastname”)。val())==“”){ $(“$”){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)
而且不与点击事件提交按钮。表格有这个submit event
的特别活动。
把它放在小提琴上或添加您的Html代码。 – N20084753
将其添加到html代码不起作用,什么是小提琴 –
http://jsfiddle.net/ - 可以把你的代码放在这里。 – N20084753