проблема с 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>
|
1) Зачем велосипедить с XMLHttpRequest, если в jQuery уже есть средства для работы с ним? api.jquery.com/jQuery.get/
2) param - это html-элемент (объект), а не строка. Нельзя его приплюсовать вот так просто к строке (можно, но получится не то) Значение поля хранится в свойстве param.value 3) document.getElementById('id') - а где у вас элемент с id = "id" ? не вижу таких. Наверное не 'id' , а 'date' ? |
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 а на счет велосипедить - мне просто хочется разобраться в самой структуре и почему не получается |
Цитата:
var param = document.getElementById('id');
Сейчас param - это объект, его нельзя плюсовать к строке.
var param = document.getElementById('id').value
Сейчас param - это строка равная value объекта (элемента), тоесть все ок, можно плюсовать. Разницу видите? Или для вас снова обе строчки кажутся одинаковыми? Цитата:
document.getElementById('id') найдет элемент с id="id", но ни как не id="date" (а схуяли) Чувствую напрасно трачу свое время, ибо... Цитата:
|
Цитата:
реализовал через ajax |
| Часовой пояс GMT +3, время: 11:55. |