Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery][PHP] Formularze POST.
Forum PHP.pl > Forum > XML, AJAX
MiXen
Witam. Mam formularz,a w nim pola i chciałbym przesłać poprzez taki kod:
Kod
<script type="text/javascript">
$("input").click( function()
{
if($(this).val() == 'Wy¶lij')
{
$('#status').load('body/kontakt_send.php','',$('#status').slideDown());
}
return false;
});
</script>

Niestety, ale do pliku kontakt_send.php nie dochodzi tablica post i niestety wszystkie zmienne są poste, jak mogę to naprawić?

Nikt nie ma pomyslu jak to rozwiazac?
nospor
Przecież ty tu żadnych danych nie wysyłasz.... nie rozumiem skad wiec zdziwienie, że nic w post nie idze :/
http://api.jquery.com/load/
MiXen
Hmm rozumiem, czyli po prostu nie wysyłam danych. Ale niestety ten link mi nie za bardzo pomógł i czy mógłbys wytłumaczyć mi to łopatologicznie, jak to przesłać, abym po stronie php mógł odczytywać z tablicy$_POST['costam']?
nospor
Link ci nie pomógł? Przecież na samym początku masz napisane:
.load( url [, data] [, complete(responseText, textStatus, XMLHttpRequest)] )
.....

Kod
$('#status').load('body/kontakt_send.php',{costam : 'jakaswartosc', innecostam:'innawartosc'},$('#status').slideDown());
MiXen
Niestety, mam coś takiego
Kod
$('#status').load('body/kontakt_send.php',{imie: '<?PHP echo $_POST['imie']; ?>'},$('#status').slideDown());
I probowałem w pliku kontakt_send.php użyć zmiennej $_POST['imie'], ale nadal jest pusta, co nadal robię nie tak?
ylk
Nospor wprowadzasz go w błąd, bo on pisze o metodzie POST wysyłając coś GETem, a ty go utrzymujesz w tym zamotaniu smile.gif

Zrób sobie formularz, daj mu jakieś id, powiedzmy <form id=dupa>
I potem z jquery
  1. $(function(){
  2. $('#dupa').submit(function(){
  3. $.post('body/kontakt_send.php', $('#dupa').serialize());
  4. });
  5. });

i wtedy w skrypcie kontakt_send.php odwołujesz się do pól formularza poprzez $_POST['nazwa_pola']
nospor
@ylk z linku, który podałem:
Cytat
The POST method is used if data is provided as an object; otherwise, GET is assumed.


{imie: '<?PHP echo $_POST['imie']; ?>'}

to może spróbuj wpierw {imie: 'Marcin'}
Teraz działa? Idzie ajaxem imie?
MiXen
Z POST jednak coś nie działa, a jeśli właśnie wpiszę statyczne imie to działa, dziwne, to nie mogę złapać pół formularzy przez post w php? Więc jak mam to zrobić?
ps. jak wywować reset pól formularza, bo teraz same się nie czyszczą
nospor
yyy....
imie: '<?PHP echo $_POST['imie']; ?>'
No przecież dane postem dopiero wysyłasz wiec niby jakim cudem przed wysłaniem ma ci coś działac?

imie: 'marcin'
Tak wysyłasz postem imie marcin. To imie będzie dopiero dostępne w $_POST['imie'] w skrypcie kontakt_send.php po wysłaniu... nie przed.
MiXen
Tyle to sam wiem, przecież to logiczne, ale jak mam przesłać dane z formularza, jak się do nich odwołać, jak, jak jak?
cudny
Tu masz wszystko czego Ci trzeba: http://api.jquery.com/category/forms/
Robisz sobie
  1. <form id="form_1" type="post"><input ... /></form>

Dajesz:
  1. $("#form_1").submit(function() {
  2. // tutaj korzystasz sobie z funkcji dostępnych pod linkiem podanym wyżej - wszystko masz w obiekcie $(this)
  3.  
  4. return false;
  5. });
MiXen
Dobrze, coś pokombinowałem i udało mi się to zrobić, ale mam problem z polskimi znakami przesyłanymi przez te pola. Jeśli chodzi o ładowanie plików przez jQuery to rozwiązałem to czymś takim header('Content-Type: text/html; charset=iso-8859-2'); , ale tutaj tego nie użyję, jak moge to zrobić wink.gif?
cudny
Pewnie działasz na windowsie... coś takiego jak poniżej powinno pomóc:

  1. $codding = mb_detect_encoding($string)
  2. if($codding != "UTF-8") $string = iconv($codding, "UTF-8",$string);


Ale to już osobny temat
MiXen
Dzięki za pomoc, wszystko jest już oki ;]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.