 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
z.m
Data înscrierii: 25/Feb/2005
Mesaje: 326
|
| Trimis: Vin Mar 30, 2007 5:05 pm Titlul subiectului: header redirect |
|
|
Am facut si eu un mic script in ajax ce trimite datele unui formular de contact.
Problema e ca in scriptul php care verifica datele,vreau ca dupa ce este trimis email-ul,sa fie redirectat la alta pagina.Am folosit header() dar nu face nimic,ci apare mesajul care l-am pus cand se proceseaza datele:"Wait...",si ramane neschimbat.Daca scot header() in schimb merge.
Si mai am o problema.Scriptul nu merge pe ie,numai pe mozilla.Desi am folosit:
if(window.XMLHttpRequest)
{
req = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
req = new ActiveXObject("Microsoft.XMLHTTP");
} |
|
| Sus |
|
johnutz
Data înscrierii: 20/Iul/2004
Mesaje: 956
Locație: Între scaun și tastatură
|
| Trimis: Vin Mar 30, 2007 11:37 pm Titlul subiectului: |
|
|
Pai de ce mai vrei redirectare daca ai ajax? Nu era mai bine daca aveai un formular normal, conventional?
Si daca redirectarea aia ai pus-o in script-ul pe care il acceseaza XMLHTTPRequest, atunci nu e bine. Pune un document.location="unde_vrei_tu" dupa cererea XMLHTTP.
Totusi, ce rost are sa faci un simplu formular de trimis mailuri cu ajax? |
|
| Sus |
|
z.m
Data înscrierii: 25/Feb/2005
Mesaje: 326
|
| Trimis: Sâm Mar 31, 2007 1:07 am Titlul subiectului: |
|
|
| Pentru ca daca formularul e completat corect,afisez un gif de genul loading,si mesajul "Sending Email...".Dupa ce trimite emailul problema e ca acel gif apare in continuare,si si mesajul.Puteam pune in loc de asta "Email Sent",cum ar trebui de fapt,dar arata mai bine cu gif-ul ala:).Nu am inteles unde trebuie exact pus window.location.Daca il pun dupa raspunsul primit de la server in cazul in care formularul nu e completat corect mi se afiseaza initial mesajul de eroare si apoi redirecteaza,ceea ce nu e bine. |
|
| Sus |
|
Copyright
Data înscrierii: 17/Dec/2006
Mesaje: 859
Locație: Bucuresti
|
| Trimis: Sâm Mar 31, 2007 9:31 am Titlul subiectului: |
|
|
Dupa ce trimiti mail-ul in fisierul php, dai un echo de genu:
echo 'Email sent';
iar in functia handler din javascript verifici raspunsul server-ului si daca sa trimis mail-ul schimbi gif-ul si faci redirectionarea cu document.location Cod:
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
if(xmlhttp.responseText == 'Email sent') {
// shimba giful sending_email cu email_sent
document.getElementById('giful_tau').src = 'email_sent.gif';
// redirectionare catre pagina.php
document.location = 'paginna.php';
}
}
Later. |
|
| Sus |
|
Amenthes
Data înscrierii: 12/Dec/2005
Mesaje: 469
|
| Trimis: Dum Apr 29, 2007 8:38 pm Titlul subiectului: |
|
|
| Nici eu nu inteleg de ce vrei redirect cu Ajax. O validare cu javascript si apoi submit la form daca totul e ok nu era mai bine? Chiar e multa bataie degeaba. Ori il faci numai Ajax sa stii o treaba ori clasic. Nu am nevoie de loading sa stiu ca imi trimiti mesajul, daca vad pagina ca se... loadeaza :) imi dau seama. Sau... ca tot iti place sa te incurci :) cand apasa submit daca totul e in regula afiseaza o imagine (dummy) de loading dar fara Ajax in spate si de abia cand faci redirectul... trimiti si mesajul in mod clasic, in noua pagina pe care o incarci, fara Ajax. |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|