Страницы: 1
Простой пример:
<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 снова показываю нужные. Но... Это же неправильно...
Буду рад любым подсказкам и рекомендациям.
Страницы: 1