Autor | Zpráva | ||
---|---|---|---|
Baly Profil * |
zdravím,
jsem začátečník s ajaxem a tak nějak se nemůžu pohnout z místa... nevíte kde je chyba? <html> <body> <script type="text/javascript"> var http; if (window.XMLHttpRequest) { http = new XMLHttpRequest(); } else if (window.ActiveXObject) { http = new ActiveXObject("Microsoft.XMLHTTP"); } else { alert("Váš Browser Nepodporuje XMLHTTP!"); } http.onreadystatechange = function() { if (http.readyState == 4) { document.newform.text.value=http.responseText; } } </script> <form name="newform"> text<input type="text" name="text"> text2<input type="text" name="text2"> </form> </body> </html> Má to odeslat value z textu 1 do textu 2 (asi), ale tak nějak to nedělá nic. žívá ukázka: http://yama.kx.cz/zkouska.html Moderátor Chamurappi: Titulek „Tak nejak ajax“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
|
||
Chamurappi Profil |
#2 · Zasláno: 28. 10. 2009, 00:38:08
Reaguji na Balyho:
„Má to odeslat value z textu 1 do textu 2 (asi)“ Asi nechápu. Proč by se měl na nastavení hodnoty z jednoho pole do druhého pole používat AJAX? „tak nějak to nedělá nic“ V uvedeném kódu ani nevidím, že by to něco mělo dělat. Vyrobíš XMLHttpRequest, nastavíš mu událost, co se má stát, až přijde odpověď ze serveru… a to je konec. Na odkázané stránce vidím smysluplnější skript, který už nějak funguje. |
||
Baly Profil * |
#3 · Zasláno: 28. 10. 2009, 12:18:48
omlouvám se, nic jsem o tom nevěděl a měl jsem tam úplné blbost. Tedka když jsem si o tom něco přečetl, mám tento kód:
zkouska.html <html> <body> <script type="text/javascript"> function ajax() { var http; if (window.XMLHttpRequest) { http = new XMLHttpRequest(); } else if (window.ActiveXObject) { http = new ActiveXObject("Microsoft.XMLHTTP"); } else { alert("Váš Browser Nepodporuje XMLHTTP!"); } http.open("POST","http://yama.kx.cz/zkouska.php",true); http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); http.send("text="+document.form.text2.value); http.onreadystatechange = function() { if (http.readyState == 4) { text.innerHTML=http.responseText; } } } </script> <div id="text"></div> <form name="form"> text2<input type="text" name="text2" onkeydown="ajax();"> </form> </body> </html> zkouska.php <html> <body> <? $textt = $_GET['text']; print($textt); ?> </body> </html> Hledal jsem všemožně po googlu, ale nenašel jsem odpověd na to jak správně odesílat data pomocí send()... Budto špatně odesílám a nebo špatně pracuji s odeslanými daty v zkouska.php, pomůžete mi prosím? živá ukázka: www.yama.kx.cz/zkouska.html |
||
Baly Profil * |
#4 · Zasláno: 28. 10. 2009, 12:34:28
Problém jsem vyřešil:
http.open("GET","http://yama.kx.cz/zkouska.php?text="+document.form.text2.value,true); http.send(null); |
||
Baly Profil * |
#5 · Zasláno: 28. 10. 2009, 12:37:37
Otázka ale zůstává, jak můžu prosím správně použít send() s metodou POST? Rád bych se to dozvěděl, i když můžu použít GET.
|
||
Anonym Profil * |
#6 · Zasláno: 28. 10. 2009, 17:32:30
namiesto:
http.send(null); použiješ príkaz zostavený podľa tohoto vzoru: http.send("premenna1=hodnota1&premenna2=hodnota2"); V php potom bude mať premenná $_POST["premenna1"] hodnotu hodnota1 $_POST["premenna2"] hodnotu hodnota2 Hodnoty nesmú obsahovať špeciálne znaky. Na to slúži funkcia: encodeURIComponent(retazec); Tá špeciálne znaky traskribuje. |
||
Baly Profil * |
#7 · Zasláno: 28. 10. 2009, 21:58:01
Díky moc, myslím že už to chápu
|
||
Časová prodleva: 14 let
|
0