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