Autor Zpráva
moldow
Profil *
Ahoj. Mam formular, kde po stlaceni odosielaceho tlacidla sa data z formularu odoslu do php suboru result.php
Toto odosielanie sa deje v include okne, ktore je zobrazovane cez jquery colorbox.

Priklad:
http://others.abipbox.com/testinput/

Zdrojove kody:
http://others.abipbox.com/testinput/txt/index.html.txt
http://others.abipbox.com/testinput/txt/result.php.txt

Moja otazka je, ako spravi to, ze ked je odosielanie uspesne, tak sa data vo formulari vymazu (pretoze teraz su inputy vyplnene aj po odoslani formulara).
Vie niekto poradit?
Dakujem.
Keeehi
Profil
Pokud se správně dívám, tak po odeslání se volá tato funkce
function(data) {
                    $.colorbox({
                        opacity: 0.96,
                        width:"400", 
                        innerHeight:"200",
                        html:data
                    });
                }
Není přece problém v ní vykonat i kód pro smazání obsahu formuláře. Nejjednoduššeji takto:
$('#formID')[0].reset();
moldow
Profil *
Jo to funguje, ale iba ciastocne:

        $(function() { 
            $("#formID").submit(function() {
                $.post($(this).attr("action"), $(this).serialize(), function(data) {
                    $.colorbox({
                        opacity: 0.96,
                        width:"400", 
                        innerHeight:"200",
                        html:data
                    });
                    $('#formID')[0].reset();
                },
                'html');
                return false;
            });
        });

Problem je, ze takto to je zmazane vzdy, ale ja to potrebujem zmazat iba, ak je odosielanie uspesne.
Taps
Profil
moldow:
zkus toto http://stackoverflow.com/questions/20876416/jquery-post-callback-function-fail-and-done-always-being-called
Keeehi
Profil
V proměnné data máš obsah odpovědi co ti vrátil server. Tak v tom textu najdi nějaké klíčové slovo (třeba "chyba") a když ho tam najdeš tak jen v ten moment vymažeš ten formulář.
moldow
Profil *
Keeehi

Vies mi aj poradit ako by vyzeral taky zapis, pretoze nejako tapam.
weroro
Profil
moldow:
Napr. takto
$(function() { 
            $("#formID").submit(function() {
                $.post($(this).attr("action"), $(this).serialize(), function(data) {
                    $.colorbox({
                        opacity: 0.96,
                        width:"400", 
                        innerHeight:"200",
                        html:data
                    });
                    if (data.indexOf('chyba') > -1) {
                      $('#formID')[0].reset();
                    }
                },
                'html');
                return false;
            });
        });
Hlavne si ale pred tým zisti, čo ti server pošle ak nastane chyba pri odoslaní, pretože to nemusí obsahovať slovo chyba. Zistíš to napr. tak, že medzi riadky 9 a 10 vložíš alert(data); a tak ti vypíše, čo ti server vracia.
moldow
Profil *
weroro

Musel som trochu upravit PHP subor, ale javascript pracuje vyborne. Dakujem.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0