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: 12 let
|
0