2010-05-18 132 views
0

我感到比较口令并确认通过Java密码script.my代码 -Java脚本不能正常工作

function validate_form(thisform) 
{ 
with (thisform) 
    { 
    if (validate_required(password,"<b>Error: </b>Password must be filled out!")==false) 
    {password.focus();return false;} 

    else if (validate_required(cnfpassword,"<b>Error: </b>Confirm Password must be filled out!")==false) 
    {cnfpassword.focus();return false;} 

    else if (document.getElementById('password').value != document.getElementById('cnfpassword').value) 
    {password.focus();Sexy.error("<b>Error: </b>Passwords entered are not same!"); 
    password.value="";cnfpassword.value="";return false;} 
    } 

validate_required()功能工作正常,它显示警报味精,但密码比较是不工作。但是,同样的代码工作正常在其他一些page.I已经写了一些PHP代码,以避免页面caching-

<?php 
session_start(); 
session_cache_limiter('nocache'); 
header('Pragma: no-cache'); 
?> 

什么问题???

+0

如果您向我们显示密码输入窗体的HTML,它可能会有所帮助。无论是工作页面还是非工作页面。 – 2010-05-18 19:08:48

+0

为什么你有如果子句做了比较假?它已经是一个布尔值,你可以不让它产生一个真正的if子句。 – unholysampler 2010-05-18 19:09:51

+0

** javascript ** - 如在“我的JavaScript代码片段不工作”。不是“我的Java脚本不工作”。这意味着你正在编写一个脚本,用java(这有点奇怪)。对不起 - 宠坏了。 – Cam 2010-05-18 19:12:52

回答

1

奇怪的代码!

什么是

with (thisform) 

吗? 它允许在当前范围内有密码和cnfpassword吗?

如果是这样,你为什么不这样做:

else if (password.value != cnfpassword.value) 

除此之外,我建议您验证PHP中的表单。

+0

https://developer.mozilla.org/index.php?title=En/Core_JavaScript_1.5_Reference/Statements/ With – Cam 2010-05-18 19:13:30

+1

'with'通常被认为是一个永远不应该使用的JavaScript错误。不幸的是,w3schools上的血腥可怕示例代码使用它,这就是为什么我们不断看到这个丑陋而完全没有意义的'validate_required'函数一次又一次地出现。死,w3schools,死亡。 – bobince 2010-05-18 20:04:01

1

它可能与价值本身有关;你有一个JavaScript调试器来帮助你逐步了解错误发生的位置吗?如果您使用的是Firefox,我推荐使用插件Firebug

0

确保表单输入ID是正确的(密码和cnfpassword)。 也如果是这样,你可以尝试改变

if (document.getElementById('password').value != document.getElementById('cnfpassword').value) 

if (password.value != cnfpassword.value)