2010-06-21 3 views
1

Хорошо, это сводит меня с ума. У меня есть страница учетной записи пользователя. Если у вас есть возможность изменить свой пароль. Я хочу условную проверку jquery, если пользователь вводит новый пароль в новый пароль, поле, которое подтверждает пароль, а также поле, запрашивающее старый пароль, превращается в необходимый элемент. вот мой код ragtag:Условная проверка с помощью jquery

$("#aspnetForm").validate({ 
    rules: { 
     <%=CurrentPass.UniqueID %>: { 
      required: <%=NewPass1.UniqueID %>:specified} 
     <%=NewPass2.UniqueID %>: { 
      required: <%=NewPass1.UniqueID %>:specified} 
    }, messages:{} 
}); 

Просто чтобы что-то прояснить. Я использую: указанный, потому что если заполнение заполнено. Может быть, какое-то другое условие?

+0

Проверьте его с помощью Firefox + Firebug и проверьте наличие ошибок JavaScript. Например, вам не хватает строковых котировок вокруг «<% = NewPass1.UniqueId%>: указано« – orip

ответ

0

Я думаю, что вы хотите использовать equalTo для подтверждения пароль, с текущим паролем, если новый пароль содержит данные.

$('form').validate({ 
    rules: { 
     <%= CurrentPass.UniqueID %>: { 
       required: '#<%= NewPass1.ClientID %>:filled' 
       }, 
     <%= NewPass2.UniqueID %>: { 
       equalTo: '#<%= NewPass1.ClientID %>' 
       } 
    } 
}); 
+0

Я думаю, что у меня могла быть вся моя логика. Это просто не работает для меня. – Tom

+0

@Tom - сначала проверьте, что у вас нет ошибок javascript. во-вторых, убедитесь, что сгенерированные имена в правилах соответствуют именам на входных элементах, поскольку правила идут по именам, а не по идентификаторам. По-видимому, именно поэтому вы используете UniqueID (который, я думаю, верен). Я делаю * не * пропустите все, что меняет вещь в веб-формах. – tvanfosson

+0

Да, это сводит меня с ума. Это мой первый раз, когда я делаю javascript, даже jquery, и я думаю, что это довольно прилично жесткие понятия для grasph вначале. Я просто хочу, чтобы текущее поле и поле подтверждения были необходимы, если введено новое поле пропуска и сравниваются 2 новых поля пропуска. – Tom

0

Эти селекторы должны быть строками с помощью :filled (если :specified не является пользовательский селектор вы сделали) и найден ID вместо имени, например:

$("#aspnetForm").validate({ 
    rules: { 
    <%=CurrentPass.UniqueID %>:{ 
    required: "#<%=NewPass1.ClientID %>:filled"} 
    <%=NewPass2.UniqueID %>:{ 
    required: "#<%=NewPass1.ClientID %>:filled"} 
    }, messages:{}  
    }); 
}); 
+0

Спасибо, я надеюсь, что это работает, ха-ха, это мой первый снимок на некотором jquery – Tom

+0

Хм это не работает. Причина, по которой я использую .uniqueID, - это то, что мне сказали сделать это с моей электронной почтой. Он будет проверять и проверять электронную почту без заминки. Кажется, я не могу проверить это и проверить, что это сумасшествие. – Tom

+0

@Tom. В этом случае вы используете селектор, хотя подумайте об этом как '$ (selector) .length> 0', это буквально проверка, которую он выполняет. –

Смежные вопросы