Javascript java脚本在mozila中不起作用
我在html页面中添加了一些javascript以进行输入验证。同一页面在IE和chrome中工作正常,但在mozila中它不工作。问题是当用户输入无效数据时,它应该显示警报消息框,当用户单击OK时,它应该返回false表单…但是mozila没有等待警报框它只会显示警报框5-6秒,然后转到表单action=“nextpage.php”中定义的下一页Javascript java脚本在mozila中不起作用,javascript,Javascript,我在html页面中添加了一些javascript以进行输入验证。同一页面在IE和chrome中工作正常,但在mozila中它不工作。问题是当用户输入无效数据时,它应该显示警报消息框,当用户单击OK时,它应该返回false表单…但是mozila没有等待警报框它只会显示警报框5-6秒,然后转到表单action=“nextpage.php”中定义的下一页 function validate_form(thisform) { with (thisform) {
function validate_form(thisform)
{
with (thisform)
{
if (validate_required(oldpassword, "<b>Error: </b>Please enter the Old Password!") == false)
{ changeColor("oldpassword"); return false; }
else if (valid_length(newpassword, "<b>Error: </b>Please enter the New Password!!") == false)
{newpassword.value=""; changeColor("newpassword"); return false; }
else if (valid_length(cnfpassword, "<b>Error: </b>Please enter the Confirm Password!!") == false)
{cnfpassword.value=""; changeColor("cnfpassword"); return false; }
else if (document.getElementById('newpassword').value != document.getElementById('cnfpassword').value)
{changeColor("newpassword");cool.error("<b>Error: </b>Passwords entered are not same!");
newpassword.value="";cnfpassword.value="";return false;}
}
}function validate_required(field, alerttxt)
{
with (field)
{
if (value == null || value == "")
{
cool.error(alerttxt);return false;
}
else
{
return true;
}
}
}
函数验证表单(此表单)
{
随附(此表格)
{
如果(需要验证(旧密码,“错误:请输入旧密码!”)==false)
{changeColor(“oldpassword”);返回false;}
else if(有效长度(newpassword,“错误:请输入新密码!!”)==false)
{newpassword.value=”“;changeColor(“newpassword”);返回false;}
else if(有效长度(cnfpassword,“错误:请输入确认密码!!”)==false)
{cnfpassword.value=”“;changeColor(“cnfpassword”);返回false;}
else if(document.getElementById('newpassword').value!=document.getElementById('cnfpassword').value)
{changeColor(“newpassword”);酷。错误(“错误:输入的密码不相同!”);
newpassword.value=“”;cnfpassword.value=“”;返回false;}
}
}需要函数验证(字段,alerttxt)
{
带(字段)
{
如果(值==null | |值==“”)
{
cool.error(alerttxt);返回false;
}
其他的
{
返回true;
}
}
}
酷。错误只不过是警报框的CSS nd Js。我想我的代码中没有任何问题天气问题是在某些浏览器设置中。是这样吗???因为它在IE和Chrome中运行良好,所以您使用的是一种非标准的仅限IE的行为,它为每个ID元素创建全局变量 要解决此问题,请为您使用的每个元素添加一个全局变量:
var oldpassword = document.getElementById("oldpassword");
此外,决不能将Javascript的与块一起使用。
它与VB的带有
块的非常不同,除非您真正了解它的缺陷和缺点,否则不应使用它。这也会降低代码的速度。您还可以使用一些javascript库来解决浏览器问题。我支持jQuery 作为这里的一般说明,永远不要假设错误不在代码中,99.9999%的时间,至少在已建立的平台上,它是您的代码,假设相反的情况只会浪费时间寻找原因。作为另一种情况,您可能需要查看一些jquery验证插件,这样可以节省一些时间添加行,如var oldpassword=document.getElementById(“oldpassword”)代码>在Javascript中使用的每个HTML元素的函数之外。或者myformobject.elements.oldpassword
如果您只使用名称。但是使用ID更容易。像这样???-函数validate_form(thisform){var oldpassword=document.getElementById(“oldpassword”);var newpassword=document.getElementById(“newpassword”);var cnfpassword=document.getElementById(“cnfpassword”);if(validate_required(oldpassword),“错误:请输入旧密码!”)==false){changeColor(“旧密码”);返回false;}否则如果(有效长度(新密码,“错误:请输入新密码!!”)==false){newpassword.value=“”;changeColor(“新密码”);返回false;}jquery可以作为javascript用于验证吗?