JavaScript帮助!从重置表单停止警报框

时间:2012-02-26 23:46:48

标签: javascript

我试图阻止javascript清除用户输入的表单文本。这是我的功能。它被设置为循环直到它退出,并且工作就像我也需要它。现在我需要它不删除文本框中的数据,因为我需要它从另一个按钮运行第二个函数。

function formValidate () {
    var validateName = document.getElementById("name").value;
    var validateAge = document.getElementById("age").value;
    var validateEmail = document.getElementById("email").value;
    var validateWeight = document.getElementById("weight").value;
    var validateHeight = document.getElementById("height").value;

    var x=document.forms["form3"]["email"].value;
    var atpos = x.indexOf("@");
    var dotpos = x.lastIndexOf(".");

    if (validateName == null || validateName=="")
    {
    alert("First name must be filled out." + '\n' + "Please fill out again.");
    return false;
    }
    else if (isNaN(validateAge) || validateAge==null || validateAge=="")
    {
    alert("Age must be filled out and/or be numeric." + '\n' + "Please fill out again.");
    return false;
    }

    else if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
    {
    alert("Email must be in a valid email address format." + '\n' + "Please fill out again.");
    return false;
    }
    else if (isNaN(validateWeight) || validateWeight==null || validateWeight=="")
    {
    alert("Weight must be filled out and/or be numeric." + '\n' + "Please fill out again.");
    return false;
    }
    else if (isNaN(validateHeight) || validateHeight==null || validateHeight=="")
    {
    alert("Height must be filled out and/or be numeric" + '\n' + "Please fill out again.");
    return false;
    }
}

1 个答案:

答案 0 :(得分:0)

如果没有关于HTML的任何其他信息,我猜测当用户点击输入元素时调用你的函数,输入='submit'?

然后这会导致浏览器执行清除表单的提交操作。

我认为解决这个问题的最简单方法是使用常规按钮元素,这样您就可以更好地控制它如何处理表单。然后,您可以将函数回调到提交操作。

相关问题