Что нового

AJAX в DLE

  • Автор темы Автор темы sds225
  • Дата начала Дата начала
S

sds225

Гость
В общем, такая проблема, кто знает ajax помогите...Есть на сайте форма отправки<div id=\"qwerty\"><form id=\"form-mx-send\" name=\"form-mx-send\"><input type=\"text\" id=\"friendmail\" name=\"friendmail\" class=\"f_input\"><input type=\"text\" id=\"friendname\" name=\"friendname\" class=\"f_input\"><textarea id=\"from_me\" name=\"from_me\" class=\"f_textarea\"></textarea><input name=\"submit\" value=\"Отправить\" class=\"bbcodes\" onclick=\"doSend(); return false;\"/></form></div>JS - скрипт с функцией doSend:function doSend(){  var ajax = new dle_ajax();    var form = document.getElementById(\'form-mx-send\');  ajax.AjaxFailedAlert = \"Включите javascript, или используйте иной броузер\";     ajax.onShow (\'\');    ajax.setVar(\"friendmail\", form.friendmail.value);    ajax.setVar(\"friendname\", form.friendname.value);    ajax.setVar(\"from_me\", form.from_me.value);    ajax.setVar(\"skin\", dle_skin);    ajax.requestFile = dle_root + \"engine/ajax/send.php\";    ajax.method = \'GET\';    ajax.execute = true;    ajax.element = \'qwerty\';    ajax.sendAJAX(varsString);};Например, если правильно передать через GET запрос файлу engine/ajax/send.php friendmail, friendname, from_me - то он возвращает ОК, а через этот Ajax он не фурычит...как я понимаю, то после отправки должен обновится элемент qwertyajax.element = \'qwerty\';В нем должен показаться результат выполнения скрипта engine/ajax/send.phpВвожу в поля данные, жму на отправить - Окошечко \"Загрузка. Пожалуйста, подождите...\" и 0 результата...FireBug пишет form is nullajax.setVar("friendmail", form.friendmail.value);
 
Не особо я хотел тебе помогать после того как мой модуль попал в твою сборку(хотя он платный), но думаю у тя совесть будет всё-таки...<div id=\"qwerty\"><form id=\"form-mx-send\" name=\"form-mx-send\"><input type=\"text\" id=\"friendmail\" name=\"friendmail\" class=\"f_input\"><input type=\"text\" id=\"friendname\" name=\"friendname\" class=\"f_input\"><textarea id=\"from_me\" name=\"from_me\" class=\"f_textarea\"></textarea><input name=\"submit\" value=\"Отправить\" class=\"bbcodes\" onclick=\"doSend(); return false;\"/></form></div><br /><div id=\"mx-result\"></div>и ajax запросfunction doSend() { var ajax = new dle_ajax(); var friendmail = ajax.encodeVAR( document.getElementById(\'form-mx-send\').friendmail.value ); var from_me = ajax.encodeVAR( document.getElementById(\'form-mx-send\').from_me.value ); var friendname = ajax.encodeVAR( document.getElementById(\'form-mx-send\').friendname.value ); ajax.onShow (\'\'); var varsString = \"friendname=\" + friendname; var varsString = \"from_me=\" + from_me; var varsString = \"friendmail =\" + friendmail; ajax.requestFile = dle_root + \"engine/ajax/send.php\"; ajax.method = \'POST\'; ajax.element = \'mx-result\'; ajax.sendAJAX(varsString); return false;};
 
Оо и не забудь, я переделал под метод POST, он надежнее
 
Спасибо, ща попробую, я под get сделал чтобы отладить вывод send.php...
 
:(неврубаюсь...все сделал как тут написано а там ошибкаdocument.getElementById("form-mx-send") is nullvar friendmail = ajax.encodeVAR( docum...ById('form-mx-send').friendmail.value );хотя поля заполнены... и все правильно...вставил     if (document.getElementById(\'form-mx-send\').friendmail.value == \'\' || document.getElementById(\'form-mx-send\').friendname.value == \'\')    {        alert ( \"не заполнены поля\" );        return false;    }блок вроде проверяет заполненость полей, а мне опять ошибку браузер выдает:document.getElementById(\'form-mx-send\').friendmail.value is null
 
<div id=\"qwerty\"><form id=\"form-mx-send\" name=\"form-mx-send\" method=\"post\" action=\"\"><input type=\"text\" id=\"friendmail\" name=\"friendmail\" class=\"f_input\" value=\"\" /><input type=\"text\" id=\"friendname\" name=\"friendname\" class=\"f_input\" value=\"\" /><textarea id=\"from_me\" name=\"from_me\" class=\"f_textarea\"></textarea><input name=\"submit\" value=\"Отправить\" class=\"bbcodes\" onclick=\"doSend(); return false;\"/></form></div><br /><div id=\"mx-result\"></div>
 
там шаблон а можно ещё из AJAXfunction doSend() {var ajax = new dle_ajax();var friendmail = ajax.encodeVAR( document.getElementById(\'qwerty\').friendmail.value );var from_me = ajax.encodeVAR( document.getElementById(\'qwerty\').from_me.value );var friendname = ajax.encodeVAR( document.getElementById(\'qwerty\').friendname.value );ajax.onShow (\'\');var varsString = \"friendname=\" + friendname;var varsString = \"from_me=\" + from_me;var varsString = \"friendmail =\" + friendmail;ajax.requestFile = dle_root + \"engine/ajax/send.php\";ajax.method = \'POST\';ajax.element = \'mx-result\';ajax.sendAJAX(varsString);return false;};
 
значит тут или браузер или твой пхп код...
 
Ну если после нажатия на кнопку отправить вылазитdocument.getElementById("form-mx-send") is nullvar friendmail = ajax.encodeVAR( documen...d('form-mx-send').friendmail.value );и во втором случае document.getElementById("qwerty") is nullvar friendmail = ajax.encodeVAR( documen...d('qwerty').friendmail.value );напиши в асю...
 
сорри я ща не могу, вечером прийду и протесю у себя
 
скачай DLE ICQ INFO 3.0 и посмотри как там реализовано и так себе сделай
 
up < -system: при конвертации необходимо было добавить- >
 
Верх