2015-03-30 2 views
1

Я пытаюсь проверить пароль из формы с помощью jQuery/JavaScript. После проверки, я хочу, чтобы сценарий перенаправлял меня. Однако в настоящее время это не работает.jQuery/JS не перенаправляется после проверки формы

Примечание: это только упражнения из моего университета, так вот почему код очень прост:

HTML:

!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript" src="js/jquery-2.1.3.min.js"></script> 
<script type="text/javascript" src="js/passwordCheck.js"></script> 
</head> 
<body> 
    <form method="post" name="form1" id="form-password" action=""> 
    <label>Password:</label> 
    <input type="password" name="password" id="password" value="" size="32" /> 
    <input type="submit" value="Continue" id="submit"> 
    </form> 
</body> 
</html> 

JS/JQuery:

'use strict'; 
jQuery(document).ready(function($) { 
    $('#form-password').submit(function() { 

     var passwordVal = $('#password').val(); 

     if (passwordVal === "123") { 
      $(location).attr('href', 'http://www.stackoverflow.com'); 
     } 

    }); 
}); 

Я пробовал:

window.location.href = "http://www.stackoverflow.com"; 

но это также не работает.

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

Как это исправить?

+0

try window.location – Tony

ответ

2

Вам просто нужно preventDefault() внутри представить слушателя, а затем вызвать

window.location.href = "..."; 

В настоящее время, не препятствуя действию отправки формы по умолчанию, форма пытается выполнить POST ваши данные, независимо от того, что происходит в обратном вызове submit.

Если вы предотвратитеDefault, форма не будет отправлена, пока вы не вернете true.

При этом перенаправление должно выполняться на бэкэнд или на интерфейсной основе MVC. В любом случае данные пароля должны быть отправлены и проверены где-то в базе данных.

2

Попробуйте это, вы изменяете window.location.href собственности, вы действительно хотите, чтобы установка window.location так:

$('#form-password').submit(function(e) { 
    e.preventDefault(); 

    var passwordVal = $('#password').val(); 

    if (passwordVal === '123') { 
     window.location = 'http://www.stackoverflow.com'; 
    } 

}); 
Смежные вопросы