не видит функцию javascript

365
23 мая 2017, 03:30

Прошу обратить внимание на этот код

function login(){
var xhr = new XMLHttpRequest();
xhr.open("POST", "login.php");
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var values;
values = "email=" + document.getElementById("logemail").value;
values = values + "&password=" + document.getElementById("logpassword").value;
xhr.send(values);
xhr.onreadystatechange = function () {
    xhr.onreadystatechange = function () {
        if (this.readyState === 4 && this.status === 200) {
            if (this.responseText == 'success'){
                window.location.href = "forme.local/user.php"
            }
            else {
                document.getElementsById('logerror').innerHTML = this.responseText;
            }
        }
    }
}

}

помимо этой функции в этом js файле много других и они все работают, и все также занимаются ajax запросами html:

<div id="login">
        <p id="logerror" style="display:none;"></p>
        <form action="javascript:void(null);">
            <p class="errors conferr"></p>
            <input id="logemail" name="logemail" type="text" placeholder="Email">
            <input id="logpassword" name="logpassword" type="password" placeholder="Пароль">
            <input class="regbutton" type="submit" onclick="login();" name="login" value="Войти">
        </form>
    </div>

HELP!!! В чём заключается проблема?

Answer 1

но почуме не работает с login?

Что-то у Вас перекрывает идентификатор login в глобальной области видимости. Напишите

onclick="console.log(login);"

и узнаете, что это.

Не кажется ли Вам, что одна из них - лишняя:

xhr.onreadystatechange = function () {
    xhr.onreadystatechange = function () {
READ ALSO
Цикл по массиву объектов

Цикл по массиву объектов

Сервер отдает JSON c массивом объектов, перебираю их обычным for

271
Именованное свойсто массива JavaScript

Именованное свойсто массива JavaScript

Насколько мне известно, массив - это список значений доступ к которым осуществляется по числовому индексуНедавно натолкнулся на такой код:

267
Массив в JavaScript

Массив в JavaScript

Необходимо сделать, чтобы помимо основной функции, которая сейчас работает, в каждой строке массива количество его элементов увеличивалось...

333