无法将文本框值检索到JS

时间:2011-07-25 10:07:37

标签: java javascript jquery jquery-validate

我在一个JSP页面中有一个文本框,其中输入了用户名。然后我有另一个“设置”页面,其中有“更改密码”的链接,我必须在那里进行验证用户名和密码(密码不应该相同)作为用户名)。但更改密码的灯箱只包含oldpassword,newpassword和confirmpassword字段。我正在JS中编写一个小函数来验证但是直到js才达到username的值。怎么做? ?请帮忙..

我的管理页面

function newcheckUsernamAndPassword(field, rules,i,options){
        alert("i am  in new method");
        var newpassword=field.val().toLowerCase();
        alert("new pas" +newpassword);
        var username='<%=Session("username")%>'
        alert(username);
//      var username = getValueUsingElementID('username').toLowerCase();
//      alert("Username"+username);
        if(newpassword==username){
            return options.allrules.changepassword.alertText;
        }


    }

来自Chage密码的网页代码

> <input type="password" style="width:150px" id="oldpassword" class="
> textBox validate[required,funcCall[checkOldpassword]"
> onfocus="jQuery('#authenticateform').validationEngine('attach',{Overflown:false})"/></td>
>         </tr>
>         <tr>
>             <td class="login"><label class="textLable"><msg:message
> code="label.newpassword" /></label><span
> class="redStar">*</span>&nbsp;</td>
>             <td class="login"><input type="password"
> style="width:150px" id="newpassword" name="newpassword" class="textBox
> validate[required,maxSize[30],funcCall[checkOldAndNewPassword],funcCall[newcheckUsernamAndPassword],funcCall[validatePasswordCriteria]]"
>             
> onfocus="jQuery('#authenticateform').validationEngine('attach',{Overflown:false})"/></td>
>         </tr>

用户名的Myadmin页面

    <tr>
  <td class="tblComponent" width="120px" ><label class="tblLabel" for="username"><msg:message code="label.components.userid"/><span class="redStar">*</span></label></td>
  <td class="borderR tblComponent" width="120px" colspan="3"><input id="username" name="username" type="text" value="" onfocus="jQuery('#adduserform').validationEngine('attach',{Overflown:false})"/></td>

  </tr>

HI ,,,任何帮助

2 个答案:

答案 0 :(得分:0)

我假设你的问题是 '<%=Session("username")%>' 没有被其预期的会话值取代。

如果此函数位于.js文件中,那么它可能只是由Web服务器按原样提供。

要明白我的意思,尝试将此函数放在JSP页面(而不是.js文件)中,然后username会话变量(假定它存在)将被正确解析并替换为预期值。

答案 1 :(得分:0)

假设您正在正确地抓住场地,例如

field = document.body.getElementById('the_id');

然后你应该能够通过

获得价值
var newpass = field.value;