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