Помощник
|
Присвоение значений с полей |
PRStudio
|
Сообщение
#1
|
||
|
|
||
|
|||
forest69 |
16.3.2011, 19:29;
Ответить: forest69
Сообщение
#2
|
|
[JS]name = document.getElementById('mylogin').value;[/JS]
|
|
|
SEVI |
16.3.2011, 20:51;
Ответить: SEVI
Сообщение
#3
|
|
Если я не ошибаюсь , document.all это массив. А к массивам обращаются не через обычные скобки а через квадратные. Но это я так для справки.
А вообще юзайте то что показал forest96. И еще, слветую вам использовать библиотеку JQuery)))) |
|
|
PRStudio
|
Сообщение
#4
|
|
|
|
|
PRStudio
|
Сообщение
#5
|
|
Возникла новая проблема. Скрипт не желает варьировать с полученными от сервера результатами. Скрипт (JS) получил ответ от сервера, однако как теперь заставить JS работать с полученными данными? Скажем AJAX проверяет, занято ли имя пользователя. Если занято, скрипт на который ссылается JS отвечает 'true' иначе 'false'. Я присваиваю ответ сервера, скажем, переменной
[JS]var responseServerValue = http_request.responseText;[/JS] Проблема в том, что я могу только вывести работу данной переменной на экран, но не могу производить с ней никаких действий. Т.е. если я напишу: [JS]if (responseServerValue == 'true'){ <..> }[/JS] скрипт просто впадет в "штопор". Возможно ли как-то "переоформить" переменную для возможности работы с ней? |
|
|
SEVI |
17.3.2011, 20:59;
Ответить: SEVI
Сообщение
#6
|
|
как у вас разумеется "штопор"
|
|
|
PRStudio
|
Сообщение
#7
|
|
Скрипт перестает работать и не может получить ответ от сервера. (Я поставил картинку загрузки, если ответ от сервера не равен 4, т.е. если ответ не получен). Так вот когда я пытаюсь создать событие с полученными от сервера данными. Появляется эта самая картинка загрузки и ничего не происходит.
|
|
|
SEVI |
18.3.2011, 20:07;
Ответить: SEVI
Сообщение
#8
|
|
[JS]function create_object() {
var http_request = false; // Mozila, Safari etc. if(window.XMLHttpRequest) { http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/html; charset=windows-1251'); } } // IE else if(window.ActiveXObject) { try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} } } // Error if(!http_request) { alert('Failed to create object of class XMLHTTP'); return false; } else { return http_request; } } function make_request() { var name = document.all('mylogin').value;http_request = create_object(); http_request.onreadystatechange = function() { alert(http_request); }; http_request.open('GET', 'ajax.php?name='+name, true); http_request.send(null); } [/JS] должно работать |
|
|
PRStudio
|
Сообщение
#9
|
|
спасибо SEVI, но вероятно я неверно изъяснил ситуацию :)
Мне необходимо ,скажем, проверить логин на занятость. Для этого отправляем серверу AJAX запрос. Если логин занят, сервер формирует ответ (пишет) 'true', если логин свободен - 'false'. Проблема в том, что JavaScript отказывается работать с результатом запроса, т.е. я не могу этот результат ни с чем сравнить, т.е. я стремлюсь сделать так: если сервер ответил 'true' то пишем 'занято' иначе 'свободно'. Вот структура неработающего кода: [JS]if (http_request.readyState != 4){ document.getElementById('message').innerHTML='<img src="/ajax-loader.gif"/>'; } if (http_request.readyState == 4) { //Если ответ получен if (http_request.status == 200) { //Если все нормально var responseServerValue = http_request.responseText; if (responseServerValue == 'true'){ document.getElementById('message').innerHTML='Занято'; } } }[/JS] Где ajax-loader.gif - иконка, отображаемая при невыполнении и/или загрузке запроса. Как видно из кода, переменной responseServerValue я присвоил ответ сервера. Вот тут и проблема, как теперь заставить скрипт работать с этой переменной, ибо если написать: [JS]if (responseServerValue == 'true'){ document.getElementById('message').innerHTML='Занято'; }[/JS] Попросту появляется собственно иконка загрузки. |
|
|
SEVI |
19.3.2011, 14:02;
Ответить: SEVI
Сообщение
#10
|
|
Строку
[JS]http_request.onreadystatechange = function () { alert(http_request); }; [/JS] Замените на [JS] http_request.onreadystatechange = function () { if (http_request.readyState == 4) { if (http_request.status == 200) { if(http_request.responseText == 'true'){ //выводим куда надо что логин не занят } else { //выводим куда надо что логин занят } } else { alert('Сервер не отвечает.'); }} };[/JS] |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
XField Meta v5 - модуль SEO оптимизации дополнительных полей для DLE | 0 | PunPun | 1719 | 14.8.2017, 15:29 автор: PunPun |
|
Вывод в цикле значений из базы! | 3 | Panich | 4257 | 27.5.2011, 16:14 автор: -Panich- |
Текстовая версия | Сейчас: 19.4.2024, 19:35 |