Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Chat-Provedení PHP až po jQuery

Dobrý den,
pracuji na webovém chatu a zasekl jsem se u jednoho problému, který nejsem schopen vyřešit. Jde o to, že po kliknutí na tlačítko Odeslat zprávu nechám PHP provést zápis zprávy do databáze a poté nechám pomocí jQuery vyčistit pole pro zprávu, aby se do něj mohlo znovu psát. Jenže PHP si s jQuery zrovna moc nerozumí. Jde hlavně o to, že se nejprve vykoná jQuery script, který vyčistí pole pro zprávu (resp. nastaví jeho atribut VALUE na nulovou hodnotu) a až poté se vykoná PHP script. No a zde vzniká ten problém: PHP zpracovává zprávu až po té, co je políčko vyčištěno. Takže do databáze se vlastně žádná zpráva nezapíše, protože hodnota políčka pro zprávu je nulová. Ještě dodám, že po kliknutí na tlačítko Odeslat zprávu se stránka nenačítá celá znovu, ale script nechávám zpracovávat ve skrytém tagu <iframe>.

No a má otázka je naprosto prostá:
Není možnost, aby se jQuery script na smazání políčka vykonal až po PHP scriptu?

Předem děkuji za odpovědi.

Předmět Autor Datum
Fůůů. Je to jednoduché. Nejprve zprávu z políčka zkopíruj do nějaké proměnné a posílej do databáze h…
Flash_Gordon 29.08.2013 21:03
Flash_Gordon
No to mě také napadlo, ale ať udělám cokoliv, ten jQuery se provede jako první, bez ohledu na to, na…
Alegor 29.08.2013 21:19
Alegor
Tak si ošetři odeslání tlačítka přes jQuery (javascript). Kliknu - javascript - nacte pole a posle n…
FixExa 29.08.2013 21:32
FixExa
Ani tohle mi z nějakého důvodu nejde...
Alegor 29.08.2013 22:04
Alegor
Dle mého názoru je skrytý tag <iframe> zbytečný. Bude fungovat tento postup: Tlačítkem submit zavo…
hynajs 30.08.2013 08:31
hynajs
Mnohokrát ti děkuji, tohle je úplně přesně to, co jsem hledal! Mým hlavním cílem bylo dosáhnout funk… poslední
Alegor 30.08.2013 09:27
Alegor

Fůůů. Je to jednoduché.
Nejprve zprávu z políčka zkopíruj do nějaké proměnné a posílej do databáze hodnotu té proměnné.
Nikoliv hodnotu políčka.

//Editace

A druhá správná, bytelnější možnost je kontrolovat zápis v DB a až poté následně mazat hodnotu inputu.

Dle mého názoru je skrytý tag <iframe> zbytečný.

Bude fungovat tento postup:

Tlačítkem submit zavoláš Javascriptovou funkci, která pomocí jQuery post odešle všechna políčka zprávy PHP skriptu určenému pro zápis do databáze. Poté vyčistíš pole. Samozřejmě onsubmit nebo onclick, kterým vše vyvoláš, musí nakonec vracet false, aby se stránka neobnovila.

Náznak syntaxe:

  $.post("skript_pro_zapis_do_databaze.php",array_s_policky_formulare,
    function(data) {
      skript_pro_vycisteni_policek();
    }
  )

Zpět do poradny Odpovědět na původní otázku Nahoru