Невозможно получить значение текстового поля в JS - PullRequest
0 голосов
/ 25 июля 2011

У меня есть текстовое поле на одной странице JSP, где вводится имя пользователя. Затем у меня есть другая страница «Настройки», где есть ссылка для «Смена пароля», где я должен выполнить проверку имени пользователя и пароля (пароль не должен совпадать) как имя пользователя). Но лайтбокс для смены пароля содержит только поля oldpassword, newpassword и Подтверждение пароля .. Я пишу небольшую функцию в JS для проверки, но значение имени пользователя не достигается до js .. Как это сделать ?? ? Пожалуйста, помогите ..

Моя страница администратора

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>

Привет ,, любая помощь

Ответы [ 2 ]

0 голосов
/ 25 июля 2011

Предполагая, что вы правильно захватываете поле, например.

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

Тогда вы сможете получить значение, набрав

var newpass = field.value;
0 голосов
/ 25 июля 2011

Я предполагаю, что ваша проблема заключается в том, что '<%=Session("username")%>' не заменяется на предполагаемое значение сеанса.

Если эта функция в.js файл, то, вероятно, он просто обслуживается веб-сервером как есть.

Чтобы увидеть, что я имею в виду, попробуйте поместить эту функцию на страницу JSP (вместо файла .js) и usernameПеременная сеанса (при условии, что она существует) будет затем правильно проанализирована и заменена на предполагаемое значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...