проблема с 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, время: 08:07. |