Autor | Zpráva | ||
---|---|---|---|
Peyton Profil * |
#1 · Zasláno: 4. 7. 2013, 15:06:09
Dobrý den,
mám připravený formulář a k němu skript, který jej zpracuje (něco odešle emailem, něco uloží do databáze). Do nyní jsem to dělal tak, že jsem klasicky submitem poslal Postem data tomu skriptu, který to zpracoval a v případě úspěchu předhodil uživateli stránku s gratulací, že se podařilo jeho dotaz poslat. Rád bych se nyní posunul dále a to tak, že uživatel po stisknutí submitu pouze pár cm nad formulářem uvidí "lísteček", že jeho dotaz byl v pořádku odeslán. To by mělo být jedinné, jak uživatel pozná, že odeslal svou zprávu. Tuším pro mě magické slovo Ajax, ale víc prostě nevím. Poradí někdo více? |
||
Amunak Profil |
#2 · Zasláno: 4. 7. 2013, 16:48:15
Peyton:
Pokud jde o jednodušší, kratší formulář, u kterého tě zajímá třeba jen jedna návratová hodnota, AJAX není nezbytně nutný. Můžeš třeba odeslat data "načtením obrázku", a pak (třeba podle rozměrů toho obrázku) vyhodnotit stav, jak to dopadlo. AJAX ale určitě bude dobrá volba pro cokoliv, kde se text nevejde do URL. |
||
8vm8 Profil |
Můžeš to buď odeslat takhle
<script type="text/javascript"> var data1=$("#tvuj_input1").val(), data2=$("#tvuj_input2").val(); $.post('soubor.php', {data1:data1, data2:data2}, function(output) { //V souboru proběhne zpracování. Vrátí se zpráva s výsledkem. Tu zobrazíš pomocí této funkce $("#status").html(output); } ); </script> nebo takhle <script type="text/javascript"> var data1=$("#tvuj_input1").val(), data2=$("#tvuj_input2").val(); $.ajax( { url: 'soubor.php', type:"POST", data:({data1:data1, data2:data2}), timeout:10000, error: function(output) { alert("Odeslání se nezdařilo"); }, success: function(output) { alert(output); } }); </script> |
||
Časová prodleva: 11 let
|
0