我试图阻止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;
}
}
答案 0 :(得分:0)
如果没有关于HTML的任何其他信息,我猜测当用户点击输入元素时调用你的函数,输入='submit'?
然后这会导致浏览器执行清除表单的提交操作。
我认为解决这个问题的最简单方法是使用常规按钮元素,这样您就可以更好地控制它如何处理表单。然后,您可以将函数回调到提交操作。