我在一个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> </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 ,,,任何帮助
答案 0 :(得分:0)
我假设你的问题是 '<%=Session("username")%>'
没有被其预期的会话值取代。
如果此函数位于.js文件中,那么它可能只是由Web服务器按原样提供。
要明白我的意思,尝试将此函数放在JSP页面(而不是.js文件)中,然后username
会话变量(假定它存在)将被正确解析并替换为预期值。
答案 1 :(得分:0)
假设您正在正确地抓住场地,例如
field = document.body.getElementById('the_id');
然后你应该能够通过
获得价值var newpass = field.value;