chr2017 Δημοσ. 25 Φεβρουαρίου 2018 Δημοσ. 25 Φεβρουαρίου 2018 καλησπέρα θα ήθελα να κάνω μια ερώτηση για html form. Έχω την παρακάτω φόρμα και θα ήθελα να ρωτήσω πως μπορώ σε αυτό το πλαίσιό που βρίσκεται η φόρμα αυτή μόλις ο χρήστης πατήσει submit και εφόσον είναι σωστό το validation της φόρμας να εμφανιστεί ένα μήνυμα σαν αυτό <p>your request is complete</p> και με το refresh της σελίδας να επανέρχεται η φόρμα.Έχω βρει πολλά παραδείγματα αλλά όλα σχεδόν είναι με PHP ή αλλαγή με σελίδας action="other.html" εγώ θέλω να μην αλλάζω σελίδα αν γίνετε. χρησιμοποιώ django να πάρω το request,αλλά αυτή η φόρμα είναι απλή html <form action="" method="POST"> <select> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="mercedes">Mercedes</option> <option value="audi">Audi</option> </select> <input class="btn btn-primary btn-lg btn-block" type="submit"> </form>
ajaxmonkey4hire Δημοσ. 25 Φεβρουαρίου 2018 Δημοσ. 25 Φεβρουαρίου 2018 (επεξεργασμένο) <!doctype html> <html lang="el"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script> $(document).ready(function(){ $("#myForm>input[type=submit]").click( function(){ var form = $(this).parent(); $.post(form.attr("action"), form.serialize(), function(res){ $("#feedBack").html(res); }, "html"); return false; } ) }); </script> </head> <body> <p id="feedBack"></p> <form id="myForm" action="whatever.php"> <select> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="mercedes">Mercedes</option> <option value="audi">Audi</option> </select> <input class="btn btn-primary btn-lg btn-block" type="submit"> </form> </body> </html> Επεξ/σία 25 Φεβρουαρίου 2018 από ajaxmonkey4hire
TheDarkKnight Δημοσ. 25 Φεβρουαρίου 2018 Δημοσ. 25 Φεβρουαρίου 2018 Η απάντηση του ajaxmonkey4hire είναι με jquery και όχι με php! Ορίστε και με απλή javascript: <form id="myForm" method="POST" onsubmit="mySubmit(event);"> <select name="mySelection"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="mercedes">Mercedes</option> <option value="audi">Audi</option> </select> <input class="btn btn-primary btn-lg btn-block" type="submit"> </form> <p id="message"></p> <script> function mySubmit(e) { var formData = new FormData(document.getElementById("myForm")); var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { if(this.responseText == "something"){ document.getElementById("message").innerHTML = "something"; } } }; xhttp.open("POST", "path/to/service", true); xhttp.send(formData); e.preventDefault(); } </script>
k33theod Δημοσ. 25 Φεβρουαρίου 2018 Δημοσ. 25 Φεβρουαρίου 2018 Έχεις γράψει view; Στο select πρέπει να δώσεις και ένα name. Όταν κάνεις refresh τη σελίδα δεν υπάρχει post Το request είναι GET. Οπότε με ένα if request.POST: είσαι οκ
alou Δημοσ. 27 Φεβρουαρίου 2018 Δημοσ. 27 Φεβρουαρίου 2018 Στις 25/02/2018 στις 6:19 ΜΜ, k33theod είπε Όταν κάνεις refresh τη σελίδα δεν υπάρχει post Το request είναι GET. Οπότε με ένα if request.POST: είσαι οκ nope. Το refresh επαναλαμβάνει το last action, αν ήταν post, θα παραμείνει post. Γι'αυτό είχε κυκλοφορήσει και το PRG pattern 1
ajaxmonkey4hire Δημοσ. 27 Φεβρουαρίου 2018 Δημοσ. 27 Φεβρουαρίου 2018 19 λεπτά πριν, alou είπε nope. Το refresh επαναλαμβάνει το last action, αν ήταν post, θα παραμείνει post. Γι'αυτό είχε κυκλοφορήσει και το PRG pattern Για αυτό σου έδωσα τον κωδικό για Ajax post μέσω jquery.
chr2017 Δημοσ. 3 Μαρτίου 2018 Μέλος Δημοσ. 3 Μαρτίου 2018 ΚΑΛΗΜΕΡΑ σας ευχαριστώ όλους για το ενδιαφέρων ο κώδικας του @TheDarkKnight δεν δουλεύει σε μένα μετά το submit δεν κάνει τπτ , ενώ ο κώδικας του ajaxmonkey4hire με πηγαίνει σε μια νέα σελίδα whatever.php που προφανώς δεν υπάρχει. ναι έχω γράψει if request.POST: και με το refresh γίνετε δουλειά όντως. μάλλον θα πρέπει να πάω σε django επιλογή
ajaxmonkey4hire Δημοσ. 3 Μαρτίου 2018 Δημοσ. 3 Μαρτίου 2018 Το αυτονόητο: Στην θέση του whatever.php θα βάλεις εσύ την δικιά σου διεύθυνση. Αυτήν στην οποία θέλεις να πάνε τα στοιχεία.
TheDarkKnight Δημοσ. 3 Μαρτίου 2018 Δημοσ. 3 Μαρτίου 2018 6 ώρες πριν, chr2017 είπε ΚΑΛΗΜΕΡΑ σας ευχαριστώ όλους για το ενδιαφέρων ο κώδικας του @TheDarkKnight δεν δουλεύει σε μένα μετά το submit δεν κάνει τπτ , ενώ ο κώδικας του ajaxmonkey4hire με πηγαίνει σε μια νέα σελίδα whatever.php που προφανώς δεν υπάρχει. ναι έχω γράψει if request.POST: και με το refresh γίνετε δουλειά όντως. μάλλον θα πρέπει να πάω σε django επιλογή Προφανώς και δεν έκανες καμία τροποποίηση στις απαντήσεις που σου δώσαμε.
The King Δημοσ. 3 Μαρτίου 2018 Δημοσ. 3 Μαρτίου 2018 (επεξεργασμένο) 7 ώρες πριν, chr2017 είπε τπτ , ενώ ο κώδικας του ajaxmonkey4hire με πηγαίνει σε μια νέα σελίδα whatever.php που προφανώς δεν υπάρχει. Για να αρχίσουμε με τα βασικά., έχεις φτιάξει κάποιο PHP mailer script το οποίο θα λαμβάνει τα δεδομένα της φόρμας ή απλά κάνεις copy/paste κώδικες και περιμένεις ως δια μαγείας να κουμπώσουν όλα ρολόι; Επεξ/σία 3 Μαρτίου 2018 από The King
ajaxmonkey4hire Δημοσ. 3 Μαρτίου 2018 Δημοσ. 3 Μαρτίου 2018 Χωρίς ειρωνεία: σκέψου για αλλαγή καριέρας. Το Django είναι webframework και για να το χρησιμοποιήσεις πρέπει φυσικά να γνωρίζεις τα βασικά περί HTML, Javascript, Jquery, HTTP methods POST, PUT, GET, DELETE. Όταν δεν καταλαβαίνεις ότι το περιεχόμενο μιας form δεν πρόκειται να πάει εκεί που το θέλεις χωρίς να δώσεις την σωστή URL τότε έχεις σοβαρό πρόβλημα. 1
chr2017 Δημοσ. 4 Μαρτίου 2018 Μέλος Δημοσ. 4 Μαρτίου 2018 @ajaxmonkey4hire χωρίς ειρωνεία αλλά μάθε πρώτα να διαβάζεις (δες τι ζητάω) και μετά μπορείς να ειρωνευτής όσο θέλεις (βασικά ποιος σου είπε ότι κάνω καριέρα ?) . προφανώς και δεν είμαι μάστερ αν ήμουν δεν θα ζητούσα βοήθεια εδώ.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα