Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.11.2012, 20:07
Аспирант
Отправить личное сообщение для JustCrazy Посмотреть профиль Найти все сообщения от JustCrazy
 
Регистрация: 20.07.2012
Сообщений: 64

проблема с XMLHttpRequest, id присваивается null
Добрый день, расскажу по-порядку:
я подключаю query библиотеку, плагин ui.datepicker-ru.js, который мне выводит в контекстном меню календарь, я выбираю дату, она заносится в поле ввода и по этой дате я вызываю страницу, которая в свою очередь уже генерируется с базы.
Проблема в том, что дата в поле ввода заносится (обозначил id), но при запросе ей присваивается null, как будто у меня поле ввода пустое.
Подскажите пожалуйста в чем ошибка?
<html>
<head>
	<link rel="stylesheet" href="smoothness/ui.datepicker.css" type="text/css" media="screen" />
	<script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
	<script type="text/javascript" src="js/jquery-ui-personalized-1.5.3.packed.js"></script>
	<script type="text/javascript" src="js/ui.datepicker-ru.js"></script>
<script type="text/Javascript"> 
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 searchdateedit()
{
	document.getElementById('load').innerHTML="<table width=100% align='center'><tr><td align='center'><img src='http://.../loading2.gif'></td></tr></table>";
	var param = document.getElementById('id');
	var xmlhttp = getXmlHttp()
	xmlhttp.open('GET', 'http://.../edit1.php?id='+param, true);
	xmlhttp.onreadystatechange = function() 
	{
		if (xmlhttp.readyState == 4) 
		{
		 if(xmlhttp.status == 200) 
		 {
			document.getElementById('load').innerHTML=xmlhttp.responseText;
		 }
		$(document).ready(function() { });
		}
	};
	xmlhttp.send(null);
}
</script>
</head>
<body>

<script type="text/javascript">
	var $d = jQuery.noConflict();
	$d(document).ready(function() {
		$d.datepicker.setDefaults($d.datepicker.regional['ru']);
		$d('#date').datepicker();
	});	
</script>
<table width=100%><tr><td align=center>Дата: <input type="text" id="date" size="8"><input type='button' value='Показать' onClick='searchdateedit();'></td></tr></table>
<div id='load'></div>
</body>
</html>

Последний раз редактировалось JustCrazy, 25.11.2012 в 20:11.
Ответить с цитированием
  #2 (permalink)  
Старый 25.11.2012, 20:27
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

1) Зачем велосипедить с XMLHttpRequest, если в jQuery уже есть средства для работы с ним? api.jquery.com/jQuery.get/
2) param - это html-элемент (объект), а не строка. Нельзя его приплюсовать вот так просто к строке (можно, но получится не то)
Значение поля хранится в свойстве param.value
3) document.getElementById('id') - а где у вас элемент с id = "id" ? не вижу таких. Наверное не 'id' , а 'date' ?
Ответить с цитированием
  #3 (permalink)  
Старый 25.11.2012, 20:42
Аспирант
Отправить личное сообщение для JustCrazy Посмотреть профиль Найти все сообщения от JustCrazy
 
Регистрация: 20.07.2012
Сообщений: 64

param - это у меня переменная.. до этого плюсовал и нормально получалось.. только там было что то вроде
var param = "id=" + document.getElementById('id').value + "&id2=" + document.getElementById('id2').value;
	var xmlhttp = getXmlHttp()
	xmlhttp.open('GET', 'http://ironhand.ru/script/loc/index3.php?' + param, true);
.....
<select id='id'>
<option value=''>-</option>
</select>
<select id='id2'>
<option value=''>-</option>
</select>

<input type="text" id="date" size="8"> - а тут id

а на счет велосипедить - мне просто хочется разобраться в самой структуре и почему не получается
Ответить с цитированием
  #4 (permalink)  
Старый 25.11.2012, 22:03
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от JustCrazy
param - это у меня переменная.. до этого плюсовал и нормально получалось.. только там было что то вроде
Вы наверно даже не вникали в свой код и в то что я вам написал.

var param = document.getElementById('id');

Сейчас param - это объект, его нельзя плюсовать к строке.

var param = document.getElementById('id').value

Сейчас param - это строка равная value объекта (элемента), тоесть все ок, можно плюсовать.

Разницу видите? Или для вас снова обе строчки кажутся одинаковыми?

Сообщение от JustCrazy
<input type="text" id="date" size="8"> - а тут id
И вновь ваша невнимательность.

document.getElementById('id') найдет элемент с id="id", но ни как не id="date" (а схуяли)

Чувствую напрасно трачу свое время, ибо...
Сообщение от JustCrazy
мне просто хочется разобраться в самой структуре и почему не получается
И это было вами написано после того, как я вам явно указал на ваши ошибки.
Ответить с цитированием
  #5 (permalink)  
Старый 28.11.2012, 11:03
Аспирант
Отправить личное сообщение для JustCrazy Посмотреть профиль Найти все сообщения от JustCrazy
 
Регистрация: 20.07.2012
Сообщений: 64

Сообщение от danik.js Посмотреть сообщение
Чувствую напрасно трачу свое время, ибо...
Не напрасно, спасибо, немного разобрался.. я только учусь и учиться приходится по самоучителям и постам на форумах.
реализовал через ajax
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Drag&Drop and resize wawandas Элементы интерфейса 0 05.08.2012 14:59
проблема с Raphaël undermuz Библиотеки/Тулкиты/Фреймворки 0 22.07.2012 08:53
Растянуть элемент по содержимому AnToxa Элементы интерфейса 11 09.04.2012 22:13
Проблема с дизайном после отправки xmlhttprequest, Проблема с дизайном после отправки cyberx AJAX и COMET 3 01.05.2010 17:07
Удалить ряд символов перед или после курсора до определенного сивола brd Javascript под браузер 3 30.10.2009 08:20