2014-10-09 4 views
-1

Я написал это code-Перепутались с getElementById Javascript

<!DOCTYPE html> 
<html> 
<head> 
    <script type="text/javascript"> 
     function validateForm(){ 
      var x = document.getElemetnById('pass1'); 
      var y = document.getElemetnById('pass2'); 
      if(x != y){ 
       document.write("Password Must Match"); 
      }else{ 
       document.write("match!"); 
      } 
      return false; 
     } 
    </script> 
</head> 

<body> 
    <p id="pass1">123</p> 
    <p id="pass2">123</p> 
</body> 

</html> 

Я хочу, если pass1 и pass2 такое же, то он будет распечатать match слова. Что такое правильный код?

+1

Кроме того, вы хотите '' .innerHTML' или .innerText' элементов, а не сами элементы. – ArtOfCode

+0

Может кто-нибудь, пожалуйста, дайте мне правильный код? – Sakir

+0

Вы пишете 'getElementById' как' getElemetnById'. Вы также не вызываете 'validateForm' в любом месте. – Andy

ответ

0

Две вещи:

  • опечатка getElemetnById, которые должны быть getElementById.
  • Вы сравниваете элементы DOM, а не содержимое этих элементов.

Полный рабочий код выглядит следующим образом:

<!DOCTYPE html> 
<html> 
<head> 
    <script type="text/javascript"> 
     function validateForm(){ 
      var x = document.getElementById('pass1'); 
      var y = document.getElementById('pass2'); 
      if(x.innerHTML != y.innerHTML){ 
       document.write("Password Must Match"); 
      }else{ 
       document.write("match!"); 
      } 
      return false; 
     } 
    </script> 
</head> 

<body> 
    <p id="pass1">123</p> 
    <p id="pass2">123</p> 
</body> 

</html> 

Вот ссылка, чтобы проверить это: http://jsfiddle.net/cretueyr/

+0

Спасибо, человек! Я новичок :) – Sakir

1

X и Y - это разные элементы в DOM, поэтому x != y всегда будет правдой.

Вы хотите сравнить ТЕКСТ этих элементов, а не сами элементы. Попробуйте проверить, x.innerText != y.innerText.

+0

nope, не работает:/ – Sakir

+0

[Да, он делает] (http://jsfiddle.net/c7gskvn8/3/). – Andy