2016-11-23 2 views
-3

Я пытаюсь сравнить два текстовых поля с Javascript. Но один из них должен иметь большую ценность, чем другой, например 5 = 4.Javascript сравнить два текстовых поля

Я не знаю почему.

 <script> 

     document.getElementById("text1").addEventListener("keydown", testpassword2); 

     function testpassword2() { 

     var text1 = document.getElementById("text1"); 
     var text2 = document.getElementById("text2"); 

     if(text1.value == text2.value){ 
     text2.style.borderColor = "#2EFE2E"; 
     } 
     else{ 
     text2.style.borderColor = "red"; 
     }} 

     </script> 
+1

Пожалуйста, объясните лучше, что не работает или то, что ожидаемое поведение – ValLeNain

+1

Post код здесь или в пределах фрагмента переполнением стека. – Jecoms

+0

я отредактировал сообщение .. или вы можете это проверить http://jsfiddle.net/rm632Lqx/ – RzeIMz

ответ

2

Некоторые проблемы с вашим кодом:

  • Вы только имели слушателя событий на первый вход. Вам нужно будет добавить прослушиватель событий ко второму входу.
  • Значение на keydown не будет содержать то же значение, что и на keyup. Вам нужно будет сделать keyup, чтобы не отставать от пользовательского ввода.

Рабочая скрипка here.

document.getElementById("text1").addEventListener("keyup", testpassword2); 
 
document.getElementById("text2").addEventListener("keyup", testpassword2); 
 

 
function testpassword2() { 
 
    var text1 = document.getElementById("text1"); 
 
    var text2 = document.getElementById("text2"); 
 
    if (text1.value == text2.value) 
 
    text2.style.borderColor = "#2EFE2E"; 
 
    else 
 
    text2.style.borderColor = "red"; 
 
}
<body>     
 
<input type="text" id="text1" size="30"> 
 
<input type="text" id="text2" size="30"> 
 
</body>

+0

Спасибо, это работает: D – RzeIMz

+0

@RzeIMz Рад, что он работает так, как вы ожидали. Не могли бы вы пометить мой ответ как правильный? – Gavin

+0

уже сделал, спасибо – RzeIMz

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