Avatar
done
Člen
Avatar
done:

Ahoj, prosím o pomoc s tímto:
mám sestavený formulář pro registraci, javascript pro ověření hodnot a php script pro odeslání do databáze. Potřeboval bych, aby se mi při kliknutí na odesílací tlačítko přes Ajax provedl ten php script a aby nedošlo k obnovení stránky, tedy aby ten Ajax předal hodnoty php scriptu a ten se provedl.
Je to možné udělat ?

 
Odpovědět 6.11.2013 9:59
Avatar
perteus
Člen
Avatar
perteus:

Ahoj, radi ti pomuzeme, ale neprilozil jsi nic z toho co mas. Tak prosim o ukazku kodu jak se to pokousis resit a pripadne i napsani jestli ti to konci na nejake chybe a jake.

Mozne to samozrejme je, treba pres jquery je to pomerne trivialni zalezitost :-)

 
Nahoru Odpovědět 6.11.2013 10:36
Avatar
user
Redaktor
Avatar
Odpovídá na done
user:

http://api.jquery.com/jQuery.ajax/

Jquery má metodu .ajax({option_na­me:option:valu­e}) viz dokumentace:

$(document).on("submit", "#form_id", function(){
    $.ajax({options}); // ajax call
    return false; // Canceling classic form submit
});
Editováno 6.11.2013 10:40
 
Nahoru Odpovědět 6.11.2013 10:40
Avatar
done
Člen
Avatar
Odpovídá na perteus
done:

No, myslím něco takového

function posli(){ jQuery.ajax({
    url: "registrace.php",
    type: "POST",
    data: "name,email,pass",
    cache: false,
    dataType: "xml";
}); }

Nejsem si ale jistý, jak to funguje.

 
Nahoru Odpovědět 6.11.2013 10:49
Avatar
done
Člen
Avatar
Odpovídá na perteus
done:

Jinak pak mám normální HTML formulář + PHP na ukládání do databáze.

Editováno 6.11.2013 10:49
 
Nahoru Odpovědět 6.11.2013 10:49
Avatar
done
Člen
Avatar
Odpovídá na user
done:

Díky, ale nevíš jaké hodnoty mají být v options ?

 
Nahoru Odpovědět 6.11.2013 10:51
Avatar
user
Redaktor
Avatar
Odpovídá na done
user:

To máš uvedeno v dokumentaci. Nicméně, z tvé ukázky vyplývá, že si nevíš rady s odesláním dat.

dataType - definuje jakou odezvu od serveru očekáváš, tzn. v tvém případě nejspíše html.
data - můžeš například vkládat ve formátu objektu: {password:valu­e,..atd}
kde password je hodnota pod kterou budeš mít data na serveru dostupná... tzn.: $_POST["password"] // = value

Pokud posíláš ajax požadavky na server, není možné na serveru ve scriptu přesměrovávat, jak je to po úspěšném zpracování formuláře běžné...

 
Nahoru Odpovědět  +1 6.11.2013 11:10
Avatar
user
Redaktor
Avatar
Odpovídá na done
user:

Samozřejmě máš k dyspozici callback funkce success/error:

$(document).on("submit", "#form_id", function(){
    $.ajax({ // ajax call
       success : function (responce){}, // responce = například tvoje html
       error : function(){}
    });
});
 
Nahoru Odpovědět 6.11.2013 11:24
Avatar
done
Člen
Avatar
 
Nahoru Odpovědět 6.11.2013 11:29
Avatar
user
Redaktor
Avatar
 
Nahoru Odpovědět 6.11.2013 12:07
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.