leontevm451
Среда, 22 Апреля 2020, 10:42 | Сообщение 1
Здравствуйте, нужно подправить скрипт входа в ajaxКод
function getXmlHttp() { var xmlhttp; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } return xmlhttp; } function loginsub() { var user = document.getElementById('usrnm').value; // Считываем значение usrnm var password = document.getElementById('pswd').value; // Считываем значение pswd var xmlhttp = getXmlHttp(); // Создаём объект XMLHTTP xmlhttp.open('POST', '/index/sub/', true); // Открываем асинхронное соединение xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); // Отправляем кодировку xmlhttp.send('user=' + encodeURIComponent(user) + '&password=' + encodeURIComponent(password) + '&a=2&ajax=1&rnd=0'); // Отправляем POST-запрос xmlhttp.onreadystatechange = function() { // Ждём ответа от сервера if (xmlhttp.readyState == 4) { // Ответ пришёл if(xmlhttp.status == 200) { // Сервер вернул код 200 (что хорошо) var result = xmlhttp.responseText; // Ответ сервера if(result.indexOf('myWinLoadSD')!=-1){ window.location.reload(); }else if(result.indexOf('Your IP')!=-1){ alert('Your IP address has been temporarily blocked'); }else if(result.indexOf('Wrong')!=-1){ alert('Wrong username or password'); }else{ alert(result); } }else{ alert('Connection Issue'); } }else{ alert('Unknown error'); } }; return false; }
Код
<form onsubmit="loginsub();return false;" method="post" action="/index/sub/"> <div class="login-form"> <div class="login-input"><input type="text" maxlength="50" size="20" name="user" id="usrnm" placeholder="Ваш логин"/></div> <div class="login-input"><input type="password" maxlength="15" size="20" name="password" id="pswd" placeholder="Ваш пароль"/></div> <div class="login-button"><button type="submit" value="Вход" name="sbm" onclick="loginsub();return false;">Войти на сайт</button></div> </form>
Суть в том, что когда нажимаю войти высвечивается окно (Unknown error) хоть пароль правильный или даже неправильный будет и открывает по 2 раза окно
Страна: (RU )
leontevm451
Среда, 22 Апреля 2020, 10:49 | Сообщение 2
Скриншоты приклепилДобавлено (2020-04-22, 12:15) --------------------------------------------- Хотел дополнить, что при вводе правильного пароля все работает, но только высвечиваются эти окна которые выше на скриншотах
Страна: (RU )
Kosten
Среда, 22 Апреля 2020, 12:32 | Сообщение 3
Чисто по поиску по ключевым фразам, посмотрите здесь - https://u.to/1YYrGA
Страна: (RU )
-SAM-
Среда, 22 Апреля 2020, 13:02 | Сообщение 4
leontevm451, если код правильный (допустим, могла потеряться при перепечатке с сайта где-то ;) + баги были, что это в системе подменяло на смайлики и при правке в визуальном редакторе ), то проверить включена ли в настройках (ПУ сайта, пользователи) старая форма входа (наверное, тоже нужно, особенно когда сайт со смешанными пользователями - не только uID-поддержка, а есть еще локальные регистрации). Как понимаю, что это ставите, так как вырезали библиотеку jQuery у себя (на замену системному), иначе смысл скрипта?
Проверить работу с поставленной в настройках (ПУ сайта, общие) библиотекой jQuery ранней версии (важно! если начнется
такое вот).
В той теме, что Kosten дал ссылку, еще пишется про работоспособность без jquery-1.10.2.js ... суть в том, что по ходу оно тогда вообще писалось под:
Код
<script type="text/javascript" src="/.s/src/u.js?2"></script>
То есть этот файл системный, когда еще был в исходниках прописан (а именно jquery-1.3.2.js).
UPD.: Цитата leontevm451 (
)
-SAM-, не совсем понял про скрипт u.js
Так вопрос в том, что зачем он нужен? Он нужен в том случае, если убирают системный скрипт и ставят функционал этот отдельно. Если правки в код не вносили, то скрипт отвалился в результате обновления на стороне системы, скорее всего. Если системный ставить, то всё работает же (ссылку там давал на тему, что тоже разбирали вопрос про форму входа в всплывающем окне). "Просто в стандартном /.s/src/uwnd.min.js слишком много лишнего кода, да и при входе долго думает, а с уменьшенным кодом сразу работает" © leontevm451 [из ЛС] - понятно.
Цитата leontevm451 (
)
С этой темы и брал скрипт.
А может, из-за того, что форму переписали, там в той теме код такой (проверьте его):
Код
<form onsubmit="loginsub();return false;" method="post" action="/index/sub/"> <input type="text" maxlength="50" size="20" name="user" id="usrnm"> <input type="password" maxlength="15" size="20" name="password" id="pswd"> <input type="submit" value="Вход" name="sbm" onclick="loginsub();return false;"> </form>
Цитата leontevm451 (
)
Суть в том, что когда нажимаю войти высвечивается окно (Unknown error) хоть пароль правильный или даже неправильный будет и открывает по 2 раза окно
Суть в том, что прописано два раза вызов функции, как понял - сперва у формы, а после еще и для кнопки Вход:
<button type="submit" value="Вход" name="sbm"
onclick="loginsub();return false;" > --> попробовать отмеченное красным убрать (в этом не силён, но по ходу в этом направлении нужно копать). Разработчики здесь не сидят, так что ответа ждать придётся долго.
"Попробовал не помогло, вернул старый uwnd.min.js подключил в конец перед </body> с defer" © leontevm451 [из ЛС] - ясно.
Помог? Скажи спасибо в виде "+" - вам мелочь, а мне приятно. Бесплатное оказание помощи в ответах на "Вопросы про uCoz".
Сообщение отредактировал -SAM- - Среда, 22 Апреля 2020, 14:56
Страна: (UA )
leontevm451
Среда, 22 Апреля 2020, 13:45 | Сообщение 5
Цитата Kosten (
)
С этой темы и брал скрипт.Добавлено (2020-04-22, 13:46) --------------------------------------------- -SAM-, не совсем понял про скрипт u.js Форма стоит старая
Страна: (RU )