drillbell
(Mihnea Popa)
ianuarie 28, 2018, 6:21pm
1
Salut,
Am nevoie de putin ajutor, de o saptamana imi bat capul, dar nu am scos-o la capat.
Problema este urmatoarea:
in pagina de contact a site-ului, dupa ce scriu mesaj butonul de “Send Message” se transforma in “Wait …” si ramane asa
in mod normal trebuia sa fie asa “Send Message” —> “Wait …” —> “Done !”
insa nu imi apare “Done !” ramane blocat pe “Wait …”
Cum se poate remedia problema?
P.S.
Am pus mai jos contact.html, style.css si main.js
Pagina de contact in codepen
iamntz
(Ionuț Staicu)
ianuarie 28, 2018, 6:31pm
2
Ce întoarce mail.php
?
Metoda success
din jQuery așteaptă un header 2xx de la server, dar dacă îți crapă, trimite 5xx => nu ajunge în acel callback.
1 Like
@drillbell , problema este in fisierul mail.php
.
La mine butonul s-a facut verde
Am simulat fisierul mail.php
cu
header("Access-Control-Allow-Origin: *");
echo http_response_code(200);
1 Like
drillbell
(Mihnea Popa)
ianuarie 28, 2018, 6:52pm
4
La mine ramane blocat pe wait
Apropo a aparut prima data wait si apoi done ?
I-a posteaza si continutul fisierului php. Scoate ce este confidential din el !
Da
Am facut su un videoclip, dar este prea mare ca sa il incarc aici
drillbell
(Mihnea Popa)
ianuarie 28, 2018, 7:01pm
6
Eu am pus asta in contact.php
<?php
header('Access-Control-Allow-Origin: *');
echo http_response_code(200);
?>
Si tot nu merge!
drillbell
(Mihnea Popa)
ianuarie 28, 2018, 7:07pm
7
Nu e nimic confidential … fisierul php l-am pus in html din codepen!
Eu am pus acolo doar ca sa functioneze la mine !
Am spcificat mai sus de ce am pus acele linii.
Aici este videoclip-ul
mail.php
1 Like
drillbell
(Mihnea Popa)
ianuarie 28, 2018, 7:12pm
9
Si de ce nu merge la mine … poate ca folosesc din partia D din calaculatorul meu ?
zshare
(Eduard-Dan Stănescu)
ianuarie 28, 2018, 7:15pm
10
Puteam sa jur ca tu nu testezi scriptul pe localhost.
2 Likes
drillbell
(Mihnea Popa)
ianuarie 28, 2018, 7:17pm
11
Am salvat fisierul sub numele de mail.php …
am pus asta in fisierul numit mai sus
<?php
header('Access-Control-Allow-Origin: *');
echo http_response_code(200);
?>
dar acum nu imi apare wait … trece direct in done!
Nu stiu ce sa zic ?!?
Aysun
(Aysun)
ianuarie 28, 2018, 7:23pm
12
PHP is a server-side scripting language designed for web development but also used as a general-purpose programming language. Originally created by Rasmus Lerdorf in 1994, the PHP reference implementation is now produced by The PHP Group
PHP is a server-side scripting language
Instaleaza XAMPP .
1 Like
drillbell:
Am salvat fisierul sub numele de mail.php …
am pus asta in fisierul numit mai sus
<?php
header(‘Access-Control-Allow-Origin: *’);
echo http_response_code(200);
?>
dar acum nu imi apare wait … trece direct in done!
Pt ca iti raspunde cu codul 200. Eu am mai pus si un alert. Acel alert facea ca js-ul tau sa astepte ca eu sa dau click pe ok. In acel alert box este codul 200 adica OK
de la server
Tu in fisierul php trebuie sa citesti ce trimiti din formular cu $_POST
. Apoi folosesti functia mail()
ca sa trimiti e-mail ul
1 Like
tu ai formularul, deci trebui doar fisierul mail.php
Instaleaza si xampp dupa cum iti spune si Aysun.
LE: Am am observat ceva dubios
<form class="col-md-6 contact-form" method="POST" action="test.php">
si si requestul ajax tot cu post. Faci acelasi lucru de 2 ori.
Daca vrei sa folosesti ajax, scoate method="POST" action="test.php
de la tag-ul form
1 Like
drillbell
(Mihnea Popa)
ianuarie 28, 2018, 8:45pm
15
Merci la toti!
Hai ca am rezolvat problema … am pus asta in fisierul contact.php
<?php
mail('[email protected] ', $cont_subject, $cont_message);
?>
L-am urcat pe free websting si merge totul ok.
Insa as vrea sa m-ai fac ceva modificari si anume sa se inverzeasc toate campurile cand este timis fisierul (asa cum se face rosu cand nu scrii nimic in campuri) … ce modificari sa fac?
Super !
Marcheaza ca solutie raspunsul care te-a ajutat
Iti mai adaugi in css o directiva de success. In codul js faci ca textbob-urile sa fie verzi cand require este 0
drillbell
(Mihnea Popa)
ianuarie 28, 2018, 8:55pm
17
Iar ca sa revina butonul la “send massage” sa-i bag un delay si un return?
setTimeout($("#cont_submit").val('send message !'), 1000);
$("#cont_submit").addClass("ok")
am pus bucata asta unde s-a trimis cu succes mesajul
drillbell
(Mihnea Popa)
ianuarie 28, 2018, 9:14pm
19
Nu merge erori in sublime text … aici am adaugat
success: function (data) {
$(".contact-form input, .contact-form textarea").val('');
$("#cont_submit").val('Done !');
setTimeout($("#cont_submit").val('Send Message), 1000);
$("#cont_submit").addClass("ok");
}