Results 1 to 18 of 18
Thread: Form submit ñ AJAX
Hybrid View
-
2nd July 2013 12:10 #1
Form submit ñ AJAX
Çäðàâåéòå. È àç ñúì ïîðåäíèÿò, êîéòî òúðñè ïîìîù. Èñêàì äà íàïðàâÿ ñúáìèòâàíåòî íà åäíà ôîðìà çà ðåãèñòðàöèÿ äà ñòàâà ñ AJAX, íî ñúì â çàäúíåíà óëèöà. Ïúðâî åòî êîäà.
Ïðîáëåìúò ìè èäâà îò ïîñëåäíèÿ ðåä event.preventDefault(). Ñëîæèë ñúì ãî, çà äà ñïðà çàðåæäàíåòî íà ðåçóëòàòà îò php ôàéëà íà åêðàíà, íî íåçíàéíî çàùî çà ìåí, êîãàòî å òîçè ðåä å íàïèñàí íå ñå èçïúëíÿâà çàÿâêàòà. Âñúùíîñò ìîæå è äà ñå èçïúëíÿâà ïîíåæå ñå èçïúëíÿâà ôóíêöèÿòà ïðè óñïåõ, íî â áàçàòà îò äàííè íÿìà çàïèñ. Êîãàòî ìàõíà òîçè ðåä âñè÷êî ñè ñå çàïèñâà òî÷íî, íî ìè ñå ïðåçàðåæäà ñòðàíèöàòà. Ñèëíî ñå íàäÿâàì íÿêîé äà ìîæå äà ìè ïîìîãíå. Áëàãîäàðÿ ïðåäâàðèòåëíî.Code:function ajaxrequest(url, typeReq, data, onSuccess){ $.ajax({ url: url, type: typeReq, data: data, success: onSuccess }); } var rform = $('#reg-form'); rform.submit(function(){ ajaxrequest(rform.attr('action'), rform.attr('method'), rform.serialize(), function(){ $('#registration-form').html("<div id='message'></div>"); $('#message').html("<h2>Registration Successfull!</h2>") .append("<p>Now you can login by pushing the Login button</p>") .hide() .fadeIn(1500, function() { $('#message').append("<img id='checkmark' src='images/check.png' />"); }); $("#login-bg").delay(3200).fadeOut(300); $("#registration-form").delay(3200).fadeOut(300); }); event.preventDefault(); });
P.S. Ñåãà ñè ïðàâèõ îùå åêñïåðèìåíòè è ìèñëÿ, ÷å êàòî ìàõíà âúïðîñíèÿ ðåä ïðîñòî ñå èçïúëíÿâà îáèêíîâåíà çàÿâêà è çàòîâà ðàáîòè.
Last edited by Horus92; 2nd July 2013 at 13:08.
-
2nd July 2013 14:21 #2Registered User
Join Date: Apr:2013
Location: Ñîôèÿ
Posts: 14
Ñëîæè ïàðàìåòúð "event" â àíîíèìíàòà ôóíêöèÿ, êàêòî å ïîêàçàíî ïî-äîëó è ñëîæè event.preventDefault() â íà÷àëîòî.
(Ìèñëÿ, ÷å ìîæåø äà èçïîëçâàø è return false)
Code:$("a").click(function(event) { event.preventDefault(); $('<div/>') .append('default ' + event.type + ' prevented') .appendTo('#log'); });Last edited by tozovec; 2nd July 2013 at 14:41.
-
2nd July 2013 16:18 #3
Íå ñòàâà. Ñúùàòà ðàáîòà. Ôóíêöèÿòà ïðè óñïåõ ñå èçïúëíÿâà è ìè èçëèçà ñúîáùåíèå çà óñïåøíà ðåãèñòðàöèÿ, íî ðåàëíî â áàçàòà íÿìà íèùî. Ñ return false ñúùî íÿìà óñïåõ. Áëàãîäàðÿ âñå ïàê.
-
2nd July 2013 17:51 #4
Çà äåáúãâàíå íà AJAX èçïîëçâàé Firebug ïðè Firefox èëè Developer tools ïðè Chrome. Òðÿáâà äà ïðîâåðèø äàëè èçîáùî ñå èçâèêâà íÿêàêâî ÐÍÐ ñ òîçè JS, ïîñëå äà ïðîâåðèø êàêúâ ðèñïîíñ âðúùà ñúðâúðà, äà âèäèø äàëè íÿìà íÿêàêâà ñèíòàêòè÷íà ãðåøêà â JS êîäà è ò.í.
Ïóñíè äà âèäèì êàêâî èìàø â ÐÍÐ ôàéëà (èëè òàì êàêúâòî ñúðâúðåí åçèê ïîëçâàø).Ëþáèìî ïèòèå çàïî÷âàùî ñ áóêâàòà 'Ê'? * Êàñà áèðà *
Àêî ìîæåø äà ëåæèø íà ïîäà áåç äà òè ñå íàëàãà äà ñå äúðæèø - âñå îùå ÍÅ ñè ïèÿí!
Äàâàéòå ñëåäâàùàòà Êàñà...
-
2nd July 2013 18:19 #5
Eòî PHP êîäà. db_escape() è db_query() ñà ôóíêöèè îò db.php ôàéëà, íî ñúì ñèãóðåí, ÷å ðàáîòÿò. Îò JS êîäà ñúì ñèãóðåí, ÷å rform.attr('action'), rform.attr('method'), rform.serialize() âçèìàò ñòîéíîñòèòå îò ôîðìàòà ïîíåæå ãè ïðèíòèðà â êîíçîëàòà. Îáà÷å ïðîáâàõ è äà èçâåäà data îòãîâîðà îò php ôàéëà âúâ ôóíêöèÿòà ïðè óñïåõ, è èçëèçà ïðàçåí ðåä, íî âñúùíîñò íå ñúì ñèãóðåí êàêâî òðÿáâà äà èçâåäå.
Code:<?php require_once "db.php"; $username = db_escape($_POST['username']); $password = db_escape(md5($_POST['pass1'])); $repass = db_escape(md5($_POST['repass'])); $email = db_escape($_POST['email']); $genre1 = db_escape($_POST['genre1']); $genre2 = db_escape($_POST['genre2']); $genre3 = db_escape($_POST['genre3']); if(isset($_POST['register'])){ if ($password == $repass) { $query = "INSERT INTO accounts (username, password, mail, type, favganre1, favganre2, favganre3) VALUES ('$username', '$password', '$email', 1 , '$genre1', '$genre2', '$genre3')"; $result = db_query($query); } else die('Passwords does not match!'); } ?>
-
2nd July 2013 20:27 #6
Äàé è õòìë êîäà.
Ïðîâåðè äà íÿìàø åëåìåíòè âúâ ôîðìàòà ñ id ili name ñúñ ñòîéíîñòè êàòî submit, length è äðóãè êîèòî ìîãàò äà êîíôëèêòèðàò ñ ïðîïåðòèòà íà ôîðìàòà.
Óâåðè ñå ÷å ïîëçâàø è ïîñëåäíà âåðñèÿ íà jquery.
Âìåñòî preventDefault, ïðîáâàé ïðîñòî return false;
ÏÕÏ ôàéëà íå âèæäàì äà âðúùà íèùî, îñâåí ïðè ãðåøêà â ïàðîëèòå äà ïëþå ñòðèíã îáðàòíî.
 áàçàòà ñè äàë ïîëåòà favganre..., äîêàòî ÿâíî èìàø ïðåäâèä gEnre, òàì íÿêàêâà ãðåøêà äà ñå ìúäðè....
-
2nd July 2013 21:04 #7
Ìíîãî íåìîæàõ äà ðàçáåðà êàêâî ñå îïèòâàø äà íàïðàâèø, íî òîâà êîåòî çàáåëÿçâàì íà ïðúâ ïîãëåä:
ajax çàÿâêàòà ñå èçïúëíÿâà àñèíõðîííî, ò.å. ñëåä êàòî íàïðàâè ðåêóåñòà èíòåðïðåòàðîðà íå ÷àêà îòãîâîðà (ò.å. callback ôóíêöèÿòà òè íå ñå èçïúëíÿâà) à ïðåíèìàâà íà event.preventDefault(); ñ êîåòî ìèñëÿ, ÷å òè ñïèðà è callback-a ñëåä òîâà. Êîåòî å è ïðè÷èíàòà êàòî ãî ìàõíåø äà òè ñå èçïúëíÿâà êîäà.
Çà äà ïðåäîòâðàòèø òîâà ïîâåäåíèå òðÿáâà:
Òàêà, èíòåðïðåòàòîðà ùå èç÷àêà îòãîâîðà îò ajax-a è ñëåä òîâà ùå ïðåìèíå íà event.preventDefault();Code:$.ajax({ url: url, type: typeReq, data: data, async: false, success: onSuccess });It seems that perfection is attained not when there is nothing more to add, but when there is nothing more to remove.
-
2nd July 2013 21:18 #8
Äà òîâà ãî íàêàðà äà èç÷àêà, íî â áàçàòà ïàê íèùî íå ñå å çàïèñàëî, à è â ñëó÷àÿ îòãîâîðúò îò php ôàéëà íå ìå èíòåðåñóâà. Ïðîñòî èñêàì èíôîðìàöèÿòà äà ÿ âèäÿ êàòî ðåä â òàáëèöàòà.
-
2nd July 2013 21:44 #9
1. Èíñòàëèðàé ñè firebug.
2. Îò php ôàéëà áèé åäèí "exit;" íàêðàÿ (ïðè AJAX çàÿâêè âèíàãè ãî ïðàâè, äàæå ìîæå äà ãî ñëîæèø íà ìÿñòîòî íà çàòâàðÿùèÿ òàã '?>',  php ôàéëîâå íå òè òðÿáâà çàòâàðÿù òàã è äîðè å ïðåïîðú÷èòåëíî äà íå ãè ïèøåø, çàùîòî ñëåä íåãî àêî èìàø íÿêâè ïðàçíè ðåäîâå ùå èçëåçíàò êàòî output).
3. ñëîæè åäèí var_dump($_POST); â íà÷àëîòî íà php ôàéëà.
4. ïóñíè firebug s F12 è îòèäè íà òàáà "console" -> "all".
èçïúëíè ajax-a è êàæè êàêúâ å ðåñïîíñ-à îò çàÿâêàòà.
Åäèò: ðàäâìà ñå, ÷å å ñòàíàëî : ) ñåãà êàòî äåáúãíåø è ùå ðàçáåðåø çàùî íå òè ìèíàâà èô-à
It seems that perfection is attained not when there is nothing more to add, but when there is nothing more to remove.
-
2nd July 2013 22:24 #10
Äà. Ïî ïðèíöèï ïîëçâàì õðîì ïîíåæå ñàìî òîé è ñàôàðè ïîääúðæàò åäíè òðàíñôîðìàöèè, íî ÿâíî ùå èíñòàëèðàì è ìîçèëà. Òàêà âå÷å ñàìî Oïåðà ìè ëèïñâà.
-
2nd July 2013 21:22 #11Êèñåëèÿ ÷îâåê™
Join Date: Apr:2006
Location: Ñîôèÿ
Posts: 8,666
Íå çíàì çà âàñ, íî àç ðàçãëåæäàì event.preventDefault() êàòî else{} è console.log, àìà áåç console è log. Çà ò'âà è öèòèðàõ äèðåêòíî îò jquery api-òî. È îáèêíîâåíî å õóáàâî php-òî äà âðúùà åõî, äîðè ãðåøêèòå äà ñà ñïðåíè îò ïðèíòâàíå â ini-òî/ñêðèïòà.
-
2nd July 2013 21:43 #12
Ñòàíàààààààààààààààà. Íàé-íàêðàÿ. Íà ñåäìîòî íåáå ñúì. Íàé-õóáàâèÿò ïîäàðúê çà ðîæäåí äåí.
Âèíîâíèêúò å if(isset($_POST['register'])). Íå çíàì çàùî ñå äúíè ñàìî ñ ajax, íî âàæíîòî å, ÷å çíàì êúäå å ïðîáëåìúò. Ìíîãî âè áëàãîäàðÿ îòíîâî.
-
2nd July 2013 20:46 #13Êèñåëèÿ ÷îâåê™
Join Date: Apr:2006
Location: Ñîôèÿ
Posts: 8,666




Reply With Quote

Lenovo ThinkPad 15 èëè IdeaPad 15
5th May 2023, 22:16 in Ìîáèëíè êîìïþòðè