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");
}
header redirect
Moderator: Moderatori
-
- Senior Member
- Mesaje: 956
- Membru din: Mar Iul 20, 2004 9:23 am
- Localitate: Între scaun şi tastatură
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?
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?
asta e de cand eram tanar
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.
- Copyright
- Senior Member
- Mesaje: 869
- Membru din: Dum Dec 17, 2006 7:24 pm
- Localitate: Bucuresti
- Contact:
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.locationLater.
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: Selectaţi tot
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';
}
}
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.
Înapoi la “Librarii Javascript”
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 7 vizitatori