Autor | Zpráva | ||
---|---|---|---|
Fisak Profil |
#1 · Zasláno: 28. 4. 2013, 13:07:59
Dobrý den. Mám ajax na změnu bez nutnosti refreshe a načtení scriptu bez nutnosti refreshe. Bohužel mi to načtení scriptu bez refreshe nefunguje. Tzn. onsubmit="updateAjax()"
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> <script> function updateDb(smer) { var datastring = 'pohyb='+ smer; $.ajax({ type: "POST", url: "pohyb.php", data: datastring }); return false; } var xmlHttp; function initAjax() { try { xmlHttp = new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari } catch(e) { try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer } catch(e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { alert("No AJAX!?"); return false; } } } xmlHttp.onreadystatechange = function() { if(xmlHttp.readyState == 4) { document.getElementById('ReloadThis').innerHTML = xmlHttp.responseText; } } } function updateAjax() { xmlHttp.open("GET", "vypis.php", true); xmlHttp.send(null); } window.onload = function() { initAjax(); } </script> <form method="post" onsubmit="updateAjax()"> <input type="submit" name="nahoru" value="Nahoru" onclick="return updateDb('nahoru')"/> <input type="submit" name="dolu" value="Dolu" onclick="return updateDb('dolu')"/> <input type="submit" name="doleva" value="Doleva" onclick="return updateDb('doleva')"/> <input type="submit" name="doprava" value="Doprava" onclick="return updateDb('doprava')"/> </form> |
||
Rfilip Profil |
#2 · Zasláno: 28. 4. 2013, 13:29:33
Dej sem kompletní kod protože ti části html chybí. Na řádku 37 (
document.getElementById('ReloadThis').innerHTML = xmlHttp.responseText; ) chceš dát odpověď serveru do elementu s id ReloadThis který tu nevidím..
|
||
juriad Profil |
#3 · Zasláno: 28. 4. 2013, 13:38:15
Fisak:
Proč motáš jQuery.ajax s XMLHttpRequestem? updateDb vždy vrací false, takže na submit formuláře nikdy nedojde, a tudíž updateAjax se nikdy nezavolá. |
||
Fisak Profil |
#4 · Zasláno: 29. 4. 2013, 11:43:15
Rfilip:
tohle je kompletní kod nemám nic jiného jen pohyb.php a vypis.php a když přidám <span id="ReloadThis" ></span> tak se stejně nic nevypíše... |
||
Fisak Profil |
#5 · Zasláno: 29. 4. 2013, 14:26:37 · Upravil/a: Fisak
juriad:
Má prosím nějaký návod jak by to mělo vypadat v jQuery ? Nebo co bych měl udělat aby toto fungovalo ? zkusil jsem toto: <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> <script> function updateDb(smer) { var datastring = 'pohyb='+ smer; $.ajax({ type: "POST", url: "pohyb.php", data: datastring }); return false; } function updateAjax() { $.ajax({ type: 'POST', url: 'vypis.php', data: mdlno, success: function (data) { // $("#viewlist")[0].innerHtml = data; //or $("#ReloadThis").html(data); } }); return false; //prevent default action(submit) for a button }); </script> <span id="ReloadThis"></span> <form method="post" onsubmit="updateAjax()"> <input type="submit" name="nahoru" value="Nahoru" onclick="return updateDb('nahoru')"/> <input type="submit" name="dolu" value="Dolu" onclick="return updateDb('dolu')"/> <input type="submit" name="doleva" value="Doleva" onclick="return updateDb('doleva')"/> <input type="submit" name="doprava" value="Doprava" onclick="return updateDb('doprava')"/> </form> |
||
juriad Profil |
O co se vlastně snažíš? Pokud zmáčknu tlačítko, tak se provede pohyb.php. Kdy se má provést vypis.php?
Máš uvedeno, že až se bude odesílat formulář, jenže ten se nikdy nebude odesílat, protože v reakci na stisk tlačítka událost rušíš (řádek 12). |
||
Fisak Profil |
#7 · Zasláno: 29. 4. 2013, 14:48:25
juriad:
aha ... No chtěl bych vždy vypsat soubor "vypis.php" a pokud se zmáčkne nějaký button tak by se "vypis.php" znovu načetl ale bez refreshe stránky |
||
juriad Profil |
#8 · Zasláno: 29. 4. 2013, 14:59:13
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> <script> function updateDb(smer) { var datastring = 'pohyb='+ smer; $.ajax({ type: "POST", url: "pohyb.php", data: datastring, success: function() { $.ajax({ type: 'POST', url: 'vypis.php', data: mdlno, /* co toto ma byt??? */ success: function (data) { $("#ReloadThis").html(data); } }); } }); return false; } </script> <span id="ReloadThis"></span> <form method="post" onsubmit="return false"> <input type="submit" name="nahoru" value="Nahoru" onclick="return updateDb('nahoru')"/> <input type="submit" name="dolu" value="Dolu" onclick="return updateDb('dolu')"/> <input type="submit" name="doleva" value="Doleva" onclick="return updateDb('doleva')"/> <input type="submit" name="doprava" value="Doprava" onclick="return updateDb('doprava')"/> </form> |
||
Fisak Profil |
#9 · Zasláno: 29. 4. 2013, 15:03:42
juriad:
ve vypis.php je toto <?php $heslo = "vertrigo"; $server = "localhost"; $login = "root"; $database = "system"; if (MySQL_Connect($server, $login, $heslo) && MySQL_Select_DB($database)) { $dotazNaMysql = mysql_query("select * from zkouska where type = 'pohyb'"); while($hodnoty = mysql_fetch_assoc($dotazNaMysql)) { echo "<img scr=\"".$hodnoty['text'].".gif\" />"; } } |
||
Časová prodleva: 11 let
|
0