2015-04-27 2 views
-4

Когда браузер загружает файл js, он работает с document.getElementById("name").Невозможно использовать jQuery

Но когда я перехожу к стилю jQuery, который равен $("#name"), этот конкретный элемент больше не работает.

Это, как я пишу файл сценария в HTML (справа выше тела тега закрытия)

<script src="http://code.jquery.com/jquery-latest.min.js"> </script> 
<script src="js/form.js"></script> 
</body> 

Кто-нибудь знает, почему JQuery не работает?

Edit:

Это просто простой код, заменив все document.getElementById до $. Но так как вы просили, это оригинальный JS код, который я использовал:

function formValidation() { 
    var name = document.getElementById("name"), 
     email = document.getElementById("email"), 
     phone = document.getElementById("phone"), 
     message = document.getElementById("message"), 
     nameRe = /[a-zA-Z]/, 
     emailRe = /^[a-zA-Z0-9._][email protected][a-zA-Z0-9.]+\.[a-zA-Z]{2,4}$/, 
     phoneRe = /[0-9]/, 
     messageError = ""; 

    document.getElementById("frmContact").onsubmit = function() { 
     messageError = ""; 

     // Validation for name, email and phone, using regular expression 
     if (!nameRe.test(name.value)) { 
      messageError = errorHighlight(name, "Invalid name"); 
     } else if (!emailRe.test(email.value)) { 
      messageError = errorHighlight(email, "Invalid email"); 
     } else if (!phoneRe.test(phone.value)) { 
      messageError = errorHighlight(phone, "Invalid phone"); 
     } else if (message.value.length <= 50) { 
      messageError = errorHighlight(message, "Message must be at least 50 characters"); 
     } 

     // form validation 
     if (messageError !== "") { 
      document.getElementById("errorMessage").innerHTML = messageError; 
      return false; 
     } 
     return true; 
    }; 
} 
+1

показать соответствующие коды, которые вы использовали, особенно. часть, где вы реализовали jQuery –

+2

Просто оберните код в функции готовности DOM – skobaljic

+1

Любые ошибки в консоли? Можете ли вы опубликовать соответствующий JS-код. – Zee

ответ

1

использования .val() например: name.val() или $("#name").val()

if (!nameRe.test(name.val())) { 
      messageError = errorHighlight(name, "Invalid name"); 
     } else if (!emailRe.test(email.val())) { 
      messageError = errorHighlight(email, "Invalid email"); 
     } else if (!phoneRe.test(phone.val())) { 
      messageError = errorHighlight(phone, "Invalid phone"); 
     } else if (message.val().length <= 50) { 
      messageError = errorHighlight(message, "Message must be at least 50 characters"); 
     } 
+0

также 'сообщение.val(). Длина' – ctn

+0

@ctn, да, мой плохой. не заметил этого. –

-1

После, как использовать его в качестве небольшого примера:

<!DOCTYPE html> 
<html lang="de"> 
    <head> 
     <title>Welcome</title> 
    </head> 
    <body> 
     <h1>It Works!</h1> 
     <div id="changethat"></div> 
     <script src="http://code.jquery.com/jquery-latest.min.js"> </script> 
     <script> 
      (function($,undefined){ 
       $('#changethat').html('Changed!'); 
      })(jQuery); 
     </script> 
    </body> 
</html> 

JSFiddle: http://jsfiddle.net/qxamct1n/1/

+0

Функция '.ready()' здесь не нужна. – rnevius

+0

Нет, если его form.js содержит что-то, что может вступить в конфликт с $. Кроме того, это лишний, знаете ли вы какие-либо недостатки, которые все еще используют его, чтобы быть уверенным? –

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