| Autor | Zpráva | ||
|---|---|---|---|
| ForMiss Profil * |
#1 · Zasláno: 11. 6. 2014, 22:59:24
Zdravím,všechno mě funguje,akorát mám malej problém.
formulář i zpracování formuláře v php mám v jednom souboru. tento ajax script tam mám. $(document).ready(function() {
var form = $('#formular');
var submit = $('#submit');
var table = $('#contactForm');
form.on('submit', function(e) {
e.preventDefault();
$.ajax({
url: 'stat.php',
type: 'POST',
dataType: 'html',
data: form.serialize(),
success: function(data) {
table.html(data);
submit.html('+');
},
error: function(e) {
console.log(e)
}
});
});
});$('#stats').load("form.php");
<div id="stats"></div>script má udělat to,že na stránkách mám vypsaný čísla daného uživatele,přidat k němů +1 a zase zapsat do db. všechno funguje jak má,ale se spožděním. vejdu na stránku,kliknu na button,nic se nestane,kliknu znova a až potom se přičte +1,aktualizuju stránku a přičte se tam ještě jednou +1 jelikož jsem na to kliknul vlastně 2x prostě to je o 1 dobu spožděný. Kde je problém? potřebuji aby se zobrazil hned jak kliknu na button a ne až kliknu znova. Díky |
||
| _es Profil |
#2 · Zasláno: 11. 6. 2014, 23:17:00
ForMiss:
„vejdu na stránku,kliknu na button,nic se nestane“ No tak to sprav tak, aby sa „niečo stalo“. V 15. a 16. riadku sa stane to, že je vidno zmenu v databáze? „Hneď“ sa to stať nemôže, lebo odoslanie dát, ich spracovanie a prijatie dát zo servera nejaký čas trvá. |
||
| ForMiss Profil * |
#3 · Zasláno: 11. 6. 2014, 23:24:53
_es:
a jak to udělat aby to bylo okamžitě?nebo aspon aby se čekalo než se to vloží aby se zobrazil správný číslo? |
||
| _es Profil |
#4 · Zasláno: 11. 6. 2014, 23:30:44
ForMiss [#3]:
Dal si málo informácií. Čo vracia serverový skript stat.php? Tak ho sprav tak, aby vrátil potrebné dáta a tie následne spracuj (funkcia vo vlastnosti success) tak, aby boli na stránke viditeľné.
|
||
| ForMiss Profil * |
#5 · Zasláno: 12. 6. 2014, 00:01:17 · Upravil/a: ForMiss
Vrací akorát ten formulář
<table id="contactForm" class="tablestatus"> <tr> <td>data1</td> <td><?= $db['cislo'];?></td> <td><form id="formular" method="POST"> <input type="hidden" value="1" name="stat" id="test"> <button class="view" id="submit" type="submit">+</button></form></td> <td> </td> </tr> </table> nad tímto formulářem je i ten script který jsem sem vložil. a taky vkládání do databáze if($_POST['stat'] == 1){
DB::zmen("users",$dbplus+1);
}elseif($_POST['stat'] == 2){
DB::zmen("users",$dbplus+1);
}tak jsem to vyřešil..bylo to spožděním té podmínky POST jinač díky za navedení k chybě :) |
||
| _es Profil |
#6 · Zasláno: 12. 6. 2014, 00:21:04
ForMiss:
Máš to príliš chaotické a zmätené, skús si niekde nájsť nejaký vzorový príklad, ako to spraviť. Serverový skript by mal vrátiť nejaké jednoduché textové dáta, ktoré následne spracuješ v JS do stránky a nie hentaký nejaký chrcheľ HTML kódu. Ak to vracia hento, ako si predstavuješ, že by mal prehliadač spracovať tabuľku do tabuľky (nie normálne do bunky tabuľky) a ešte k tomu s rovnakým atribútom id, teda konštrukciu <table id="contactForm" class="tablestatus"><table id="contactForm" class="tablestatus">...
|
||
| ForMiss Profil * |
#7 · Zasláno: 12. 6. 2014, 08:37:28
ano vím o tom,nyní vím i kde mám chybu,ale pořád mě to blbne.
zkoušel jsem vypsat php proměnnou a potom jí zařadit do podmínky,ale funguje to pouze jednou :d document.getElementById('divy').innerHTML = "<? $div='0'; ?>";
if($div == "1"){Jinač takhle to snad není ne? to zpracování tabulky do tabulky..? |
||
| _es Profil |
#8 · Zasláno: 12. 6. 2014, 12:48:26
ForMiss:
„Jinač takhle to snad není ne? to zpracování tabulky do tabulky..?“ V [#1] máš: var table = $('#contactForm'); a table.html(data);
Pritom tvrdíš, že stat.php vráti HTML kód v tvare <table id="contactForm"...>...</table>. Ako má asi prehliadač narvať tabuľku do tabuľky takýmto spôsobom?
|
||
|
Časová prodleva: 12 let
|
|||
0