2014-01-12 1 views
1

У меня есть проблемы с этим, и я пробовал много разных способов сделать это, и у меня просто закончились идеи.Как сравнить элементы формы со строками в статусе if

Вот мой код:

var user = document.Log.User; 
var pass = document.Log.Pass; 

function Login(){ 
if(user.value == "Admin"){ 
window.open(); 
} 
} 

Здесь Есть HTML сторона:

<form name="Log"> 
     <input class="Log" type="text" name="User"> 
    <input class="Log" type="password" name="Pass"> 
    <input type="button" value="Login" name="But" onclick="Login()" style="width: 70px;position: relative;left: 150px;top: -25px;"> 
</form> 
+0

Является ли Javascript до или после тела? – Barmar

+0

В чем проблема? –

ответ

1

использовать селектор ID положить присвоения переменных внутри Вход функции:

HTML:

<form name="Log"> 
    <input id="User" class="Log" type="text" name="User"> 
    <input id="Pass" class="Log" type="password" name="Pass"> 
    <input type="button" value="Login" name="But" onclick="Login()" style="width: 70px;position: relative;left: 150px;top: -25px;"> 
</form> 

JS:

function Login(){ 
    var user = document.getElementById("User"); 
    var pass = document.getElementById("Pass"); 

    if(user.value == "Admin"){ 
     window.open(); 
    } 
} 
+0

Почему вы думаете, что это будет иметь значение? Старый стиль доступа к элементам формы по-прежнему работает. – Barmar

+0

А как насчет 'document.getElementByName ('Пользователь') [0]'? Кроме того, вы написали 'Element' неправильный – Cilan

+0

, тогда я должен больше узнать о javascript :) –

1

Если присвоения переменных в JavaScript, который загружается перед телом, то элементы, которые они ссылаются на еще не существует, и вы должны получать ошибки. Существует несколько способов исправить это:

  1. Поместите Javascript в тело где-то после формы.
  2. Оставить Javascript внутри window.onload=function() { ... }.
  3. Назначьте переменные внутри функции Login().
0

Я не знаю, почему вы делаете этот вид входа логического материала с JS, но это будет работать:

function Login(){ 
    var user = document.querySelector('form[name=Log] [name=User]'); 
    var pass = document.querySelector('form[name=Log] [name=Pass]'); 

    if(user.value == "Admin"){ 
    window.open("yoururl.com"); 
    } 
} 

Надеется, что это помогает. Cheers

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