| Autor | Zpráva | ||
|---|---|---|---|
| JoK1955 Profil * |
#1 · Zasláno: 27. 12. 2011, 10:24:18
Zdravím všechny.
Mám formulář (kód viz dále). Změnou selectu se spustí AJAX (viz dále), který vytáhne data z tabulky. Tato data bych chtěl zobrazit v prvku formuláře 'zobrazeni', ale nevím jak to AJAXu zadat. Pokud zadám div 'testweb', zobrazí se v něm výsledek v poho.... Poradíte někdo, pls? Díky. JoK Formulář: <FORM NAME = "main" ID = "main" METHOD="POST" ACTION=""> <select id="wreklama" name="wreklama" onchange="webr()"><option value = "">Vyber<option value="46" >20 let NN<option value="1" >Čarodejnický vlak 2008 ---- etc <label for="zobrazeni">Zobrazení</label><input type="text" id="zobrazeni" name="zobrazeni"> <div id="testweb"></div> Scripty function webr() {
var formular = document.main; // prirad formular do promenne, pro zjednoduseni
ajax('wr', 'testweb');
ajax('wr', 'document.main["zobrazeni"]');
}function ajax(co, kam)
{
var co;
var formular = document.main; // prirad formular do promenne, pro zjednoduseni
var httpRequest;
if (co == 'ko') stranka="ajxlist.php?src=k&id="+formular["kontakt"].value;
if (co == 'wr') stranka="ajxlist.php?src=w&id="+formular["wreklama"].value;
if(typeof window.ActiveXObject != 'undefined')
{
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
httpRequest = new XMLHttpRequest();
}
httpRequest.open("GET", stranka, true);
httpRequest.onreadystatechange= function ()
{
processRequest(httpRequest, kam)
};
httpRequest.send(null);
}
function processRequest(httpRequest, kam)
{
if (httpRequest.readyState == 4)
{
if(httpRequest.status == 200)
{
if (typeof kam == 'string')
{
document.getElementById(kam).innerHTML = httpRequest.responseText;
}
if (typeof kam == 'function')
{
kam(httpRequest.responseText);
}
}
else
{
alert("Chyba pri nacitani stanky " + httpRequest.status +" : "+ httpRequest.statusText);
}
}
else
{
if (typeof kam == 'string' && kam != '')
{
document.getElementById(kam).innerHTML = '?ekejte...';
}
}
} |
||
| Ugo Profil |
#2 · Zasláno: 27. 12. 2011, 10:42:30
některé prvky jsou read-only, doporučuji někde najít jelikož z hlavy nevím, vím že třeba select, tr, td, table jsou. V podstatě jediný opravdu spolehlivý je div. Ovšem tobě tady nejde ani tak o to, jelikož input innerHTML nemá, input má value takže řáděk 36 zmeň na:
document.getElementById(kam).value = httpRequest.responseText; |
||
| JoK1955 Profil * |
#3 · Zasláno: 27. 12. 2011, 11:13:46
Ugo:
jj to je ono.... jen používám stejnou fci i na zobrazeni v jiných div a tak jsem to trochu upravil (viz dále).... teď mi došlo, že bych mohl pole formuláře input nahradit div... stejně do něj nebudu vpisovat... ale zase jsem chytřejší :-) Díky moc. JoK if (typeof kam == 'string')
{
if(document.getElementById(kam).id=='zobrazeni')
{
document.getElementById(kam).value = httpRequest.responseText;
}
else
{
document.getElementById(kam).innerHTML = httpRequest.responseText;
}
} |
||
|
Časová prodleva: 14 let
|
|||
0