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