Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.
  • Форумы
  •  » Разработка
  •  » Некорректная работа с AJAX (динамическая загрузка элементов формы)

№102-12-2008 02:55:48

Sibmonk
 
Группа: Guest
UA: Firefox 3.0

Некорректная работа с AJAX (динамическая загрузка элементов формы)

Простой пример:

<html><body>
<form name="form1" method="post" action="/save_form.php">
<div id="dinamic_form">Сюда буду загружать форму</div>
<input name="Submit" type="submit" id="button" value="Сохранить">
</form>
</body><html>

Далее по какому-нибудь событию выполняю скрипт LoadForm():

<script type="text/javascript">

var xmlHttp

function LoadForm() {
  xmlHttp=GetXmlHttpObject()
  if (xmlHttp==null) {
    alert ("Browser does not support HTTP Request")
    return
  }
  xmlHttp.onreadystatechange=stateChanged
  xmlHttp.open("GET","/get_form.php",true)
  xmlHttp.send(null)
}


function stateChanged() {
  if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
    document.getElementById("dinamic_form").innerHTML=xmlHttp.responseText;
  }
}

function GetXmlHttpObject() {
  var xmlHttp=null;
  try {
    xmlHttp=new XMLHttpRequest();
  }
  catch (e)
  {
    try {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  return xmlHttp;
}

</script>

Все Ок! Получил обратно следующий код:

<select name="city_id" id="city_id">
  <option value="1">Москва</option>
  <option value="2">Санкт-Петербург</option>
</select>

И соответственно вставил его внутрь div'a. Пока вроде все нормально. Список выбора показался в окне браузера.
Нажимаю кнопку Submit. Вызывается скрипт на PHP:

<?php
echo $_POST['city_id'];
?>

Вроде все элементарно. В IE6, 7 работает. А вот из FF3 значение city_id не приходит. Баг?...

Я конечно выкрутился тем, что сначала передаю все возможные элементы формы в коде html, а после загрузки страницы их просто прячу. Затем, после вызова xmlHTTP.open снова показываю нужные. Но... Это же неправильно...

Буду рад любым подсказкам и рекомендациям.

 
  • Форумы
  •  » Разработка
  •  » Некорректная работа с AJAX (динамическая загрузка элементов формы)

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]