Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2008, 10:14   #11
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Уточните выдает ли javascript-компилятор какие нибудь ошибки?
При быстром переносе у меня ругается на:
helloMessage = xmlDocumentElement.firstChild.data;
message: Statement on line 72: Could not convert undefined or null to object
Понаставь "флагов" и определи запускается ли вообще серверный скрипт и что он выдаёт.
Например такой "флаг": file_put_contents() - пиши в файл всё что выдает скрипт, если файл не создается - значит скрипт вообще не запускается, если выдаёт, ищи ошибку в том что он выдаёт, потому что компилятор говорит что объект и null разные вещи -
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 26.09.2008, 10:00   #12
Geddar
Пользователь
 
Регистрация: 06.05.2008
Сообщений: 88
По умолчанию

Так с этим разобрался, написал вот такой кусок
Код:
$button="<input type='text' id='myName' /><input type='button' value='Calculate MD5' onclick='process()'><div id='divMessage' />";
echo $button;
при нажатии на кнопку появляеться текст и меняется взависимости от содержимого поля, когда я написал так:

Код:
$S_Strana = "Страна <SELECT NAME='strana' id='myName'>";
while ( $data = mysql_fetch_array($result,MYSQL_NUM))
	foreach ($data as $tmp)
	{
		$S_Strana = $S_Strana."<OPTION VALUE='".$tmp."'>".$tmp."</option>";
	}
	$S_Strana = $S_Strana."</SELECT><br>";
echo $S_Strana;
у меня отобразился нормальный список, вот его код взятый из браузера:

Код:
 <SELECT NAME='strana' id='myName'>
<OPTION VALUE='россия'>россия</option>
<OPTION VALUE='мексика'>мексика</option>
<OPTION VALUE='франция'>франция</option>
</SELECT>
но вот только при нажатии на кнопку запуска функции process() уже ничего не происходит, другими словами, скрипт отказываеться работать без текстового поля.
Geddar вне форума Ответить с цитированием
Старый 26.09.2008, 10:51   #13
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

javascript-компилятором пользуетесь????????????
Если нет то спросите как им пользоваться, если да то напишите какую ошибку он выдаёт.
Сложно разбираться в чужом написанном на 2х языках коде... нужно знать ошибку, чтобы сказать как её исправить.
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 26.09.2008, 13:19   #14
Geddar
Пользователь
 
Регистрация: 06.05.2008
Сообщений: 88
По умолчанию

Извените, я думал что если js работает то все подключено, у меня ошибки только php кода выдаються. Как и где использовать javascript-компилятор чтобы увидеть ошибку?
Geddar вне форума Ответить с цитированием
Старый 26.09.2008, 14:44   #15
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Правильный вопрос, но извиняться не надо...
Раз javascript "язык браузера" то и компилятор должен быть в браузере.
Варианты такие
1)Для Opera (я использую) Инструменты-Настройки-Содержимое-Параметрыjavascript- и галочку напротив Открывать консоль при ошибке.
2)Скачать и установить debbuger для IE.(мне не понравился)
3)Firefox - тоже есть но я ни разу не пользовался.
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 26.09.2008, 15:41   #16
Geddar
Пользователь
 
Регистрация: 06.05.2008
Сообщений: 88
По умолчанию

Включил консоль и при варианте гдя я пытаюсь использовать селект выходит ошибка
Код:
JavaScript - http://kisk/index.php?page=predpriyatie
Unknown thread
Error:
name: TypeError
message: Statement on line 76: Could not convert undefined or null to object
Backtrace:
  Line 76 of linked script http://kisk/quickstart.js
    helloMessage = xmlDocumentElement.firstChild.data;
  At unknown location
    [statement source code not available]
а если я использую текстовое поле, то все нормально.
P.S.: Пока писал эти строки нашел особенность, если даже использую текстовое поле, но ввожу в него символы кирилицы то выходит ошибка как и в случае с селектом, так как селект передает скрипту только кирилицу возможно проблема в этом?

Последний раз редактировалось Geddar; 26.09.2008 в 16:24.
Geddar вне форума Ответить с цитированием
Старый 26.09.2008, 17:45   #17
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

допишите это в html документ чтобы минимизировать вероятность ошибки с кодировкой
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>скрипт</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
попробуйте использовать воспользоваться select'ом без кирилицы

компилятор говорит что нет такого обьекта xmlDocumentElement.firstChild.data
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 27.09.2008, 04:30   #18
Geddar
Пользователь
 
Регистрация: 06.05.2008
Сообщений: 88
По умолчанию

Все работает, выбираю страну и ее ID успешно передаеться на сервер, обрабатываеться и возвращается назад, остался надеюсь последний вопрос, все функции которые я использую настроены на передачу только одной переменной, а мне нужно передать как минимум три(думаю именно столько списков у меня будет), как это проще сделать написать новые функции или дабавить переменных в эти, если переменных то как это сделать, данные скрипту передаються методом GET и как добавить туда еще одно значение не затронув передыдущего я не знаю, текст скриптов не привожу так как приводил выше.
Geddar вне форума Ответить с цитированием
Старый 29.09.2008, 10:12   #19
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Если надо отправить все 3 параметра сразу, то они и отправяться вместе... те надо добавить ещё 2 параметра в функцию
Код:
function process()
{
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
  {
    par1 =encodeURIComponent(document.getElementById("val1").value);
    par2 =encodeURIComponent(document.getElementById("val2").value);
    par3 =encodeURIComponent(document.getElementById("val3").value);
    xmlHttp.open("GET", "quickstart.php?name=" + par1 + "&" + par2 + "&" + par3, true);  
    xmlHttp.onreadystatechange = handleServerResponse;
    xmlHttp.send(null);
  }
  else
    setTimeout('process()', 1000);
}
Если это надо сделать последовательно, то добавим 2 параметра функции и вызываем её с нужными нам параметрами.
Код:
function process(getfrom, wheretosend)
{
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
  {
    name = encodeURIComponent(document.getElementById(getfrom).value);
    xmlHttp.open("GET", wheretosend + name, true);  
    xmlHttp.onreadystatechange = handleServerResponse;
    xmlHttp.send(null);
  }
  else
    setTimeout('process()', 1000);
}
за синтаксис не ручаюсь
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 30.09.2008, 09:59   #20
Geddar
Пользователь
 
Регистрация: 06.05.2008
Сообщений: 88
По умолчанию

А обратно от php скрипта как несколько переменных передать? и опять у меня проблемы с языком, скртипт не хочет возвращать результат странице если в нем есть хоть одна букава кирилицы, я так понял это проблема xml, отказаться от русского языка в этой части я не могу
Geddar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание выпадающих списков в Word Dux Microsoft Office Word 12 25.08.2008 09:50
Сравнение двух списков lelik759 Microsoft Office Excel 7 13.04.2008 22:19
Объединение списков. life_burns Microsoft Office Excel 5 05.04.2008 16:13
Взаимодействие списков. Похоже на сводную, но не она. Matthias Microsoft Office Excel 4 22.02.2008 15:17