Υποβολή field αλλά όχι ολοκληρης της φόρμας.

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Υποβολή field αλλά όχι ολοκληρης της φόρμας.

Δημοσίευση από Apostolis_38 » 05 Νοέμ 2012 19:22

Καλησπέρα.

Χρησιμοποιώ ένα πεδίο ως εξής

Κώδικας: Επιλογή όλων

<select name="id" onchange="this.form.submit&#40;&#41;;">
ώστε μετά να κάνω ένα query στη βάση σύμφωνα με το id, αλλά έτσι γίνεται submit όλη η φόρμα.

Υπάρχει κάποιος τρόπος να στέλνουμε τα δεδομένα ενός <select name> μέσα στη φόρμα αλλά να μην γίνεται submit ολόκληρη η φόρμα;
Κάτι σαν

Κώδικας: Επιλογή όλων

 onchange="this.select name.submit&#40;&#41;;

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Υποβολή field αλλά όχι ολοκληρης της φόρμας.

Δημοσίευση από dva_dev » 05 Νοέμ 2012 20:19

Εικόνα

Ελπίζω να μην θεωρηθεί γκρίζα διαφήμιση...

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

Υποβολή field αλλά όχι ολοκληρης της φόρμας.

Δημοσίευση από Christianago » 06 Νοέμ 2012 00:36

Ησουν απολυτα κατατοπιστικος. Θελοντας να ειμαι επιεικης αυτο το θεμα εχει απαντηθει με λογια εκατομμυρια φορες.
Ισως οι φωτογραφιες να καταφερουν να αποτελεσουν καλυτερες απαντησεις το μελλον...!

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Υποβολή field αλλά όχι ολοκληρης της φόρμας.

Δημοσίευση από Apostolis_38 » 06 Νοέμ 2012 07:30

Εχω την αίσθηση, από λίγο που είχα πειραματιστεί, οτι και ο Αίαντας το ίδιο κάνει.
Δηλαδή κάνει submit όλη τη φόρμα.
Θα το ψάξω όμως.
Αν έχει και κανείς κάποιο καλό tutorial για το συγκεκριμένο θέμα ας το δώσει.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Υποβολή field αλλά όχι ολοκληρης της φόρμας.

Δημοσίευση από dva_dev » 06 Νοέμ 2012 09:22

και ο Αίαντας το ίδιο κάνει
Τι εστί Αίαντας;

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Υποβολή field αλλά όχι ολοκληρης της φόρμας.

Δημοσίευση από Apostolis_38 » 06 Νοέμ 2012 09:31

AJAX = Αίαντας
ο ποδοσφαιρικός AJAX πήρε το όνομα του από τον Αίαντα Σαλαμίνας.
Πρίν μερικά χρόνια μάλιστα που γιορτάζαν κάποια χρόνια από την ίδρυση του συλόγου είχε έρθει και αντιπροσωπεία του στη Σαλαμίνα για να "τονίσουν" το γεγονός.
Το καθαριστικό δεν ξέρω από που το εμπνεύστηκε :P

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Υποβολή field αλλά όχι ολοκληρης της φόρμας.

Δημοσίευση από Apostolis_38 » 06 Νοέμ 2012 12:03

Λοιπόν, ούτε με AJAX γίνεται αυτό που θέλω.
Το θέμα λύθηκε με μια αλλαγή στη διάταξη της φόρμας και ένα if(isset()).


Ασχετο. Για να μην παρεξηγηθεί το από πάνω post.
Ισως θα έπρεπε να γράψω οτι ο Ολλανδικός AJAX πήρε το ονομά του από τον Αίαντα τον Σαλαμίνιο (Αίας ο Τελαμώνιος, υπήρχε και ο Αίας ο Λοκρός) κι όχι από την ομάδα της Σαλαμίνας.
Εγκυκλοπαιδικά τελείως :P

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Υποβολή field αλλά όχι ολοκληρης της φόρμας.

Δημοσίευση από dva_dev » 06 Νοέμ 2012 19:45

Τι ακριβώς είναι αυτό που θέλεις να κάνεις και δεν γίνεται με ajax;

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Υποβολή field αλλά όχι ολοκληρης της φόρμας.

Δημοσίευση από Apostolis_38 » 07 Νοέμ 2012 09:35

Υπάρχουν δύο <select>.
Το πρώτο πρέπει να στείλει κάποιο κριτήριο στο δεύτερο ώστε να γεμίσει κι αυτό με επιλογές.
Δηλαδή, στο πρώτο select εμφανίζονται χώρες και στο δεύτερο πόλεις της συγκεκριμένης χώρας που έχει επιλεγεί.
Μετά από τα δύο αυτά select υπάρχουν κάποια <input> που πρέπει να συμπληρώσει ο χρήστης.
Ολα αυτά στην ίδια φόρμα.
Από τη στιγμή λοιπόν που είναι όλα μαζί όταν πατιέται το onchange="this.form.submit(); στέλνονται όλα τα στοιχεία.

Τελικά έβαλα και το δεύτερο select να στέλνει ένα flag και παρακάτω στη φόρμα ένα if isset το flag.
Μόνο αν ίσχύει εμφανίζει κα τα υπόλοιπα πεδία και συνεχίζεται η καταχώρηση.

Άβαταρ μέλους
Khronos
Δημοσιεύσεις: 754
Εγγραφή: 11 Δεκ 2006 14:43
Τοποθεσία: Ηράκλειο

Υποβολή field αλλά όχι ολοκληρης της φόρμας.

Δημοσίευση από Khronos » 07 Νοέμ 2012 09:52

Για να γεμίσεις το δεύτερο select με τις πόλεις δε χρειάζεται να κάνεις submit τη φόρμα. Γίνεται με ajax όπως είπε ο dva_dev.

Το submit θα το κάνεις όταν έχουν συμπληρωθεί όλα τα πεδία με ένα κουμπί.

http://www.pritaeas.net/demos/jq-dropdown/
http://demos.9lessons.info/sections_demo.php

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Υποβολή field αλλά όχι ολοκληρης της φόρμας.

Δημοσίευση από Apostolis_38 » 07 Νοέμ 2012 09:59

Ok.
Θα το ψάξω γιατί δεν κατέχω και πολλά από AJAX και πιθανόν να έκανα εγώ κάτι λάθος.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Υποβολή field αλλά όχι ολοκληρης της φόρμας.

Δημοσίευση από korgr » 07 Νοέμ 2012 10:07

Το λάθος Αποστόλη είναι πως στο onchange του select κάνεις submit.
Σε περίπτωση που φορτώνεις την jquery (και γιατί όχι άλλωστε), κοίτα την γενική θεωρία:

Κώδικας: Επιλογή όλων

<select name="countries" ... onchange="getCities&#40;$&#40;this&#41;.val&#40;&#41;&#41;">

Κώδικας: Επιλογή όλων

function getCities&#40;countryID&#41;&#123;
	jQuery.ajax&#40;&#123;
		type&#58; "POST",
		url&#58; "get_cities.php",
		data&#58; "countryID=" + countryID,
		success&#58; function&#40;response&#41;&#123;
                $&#40;'#cities'&#41;.html&#40;response&#41;; // γεμίζουμε το select με id "cities" με τα νέα options
		&#125;
	&#125;&#41;;
&#125;
Το get_cities.php είναι ένα αρχείο που παίρνει το $countryID κάνει ένα query και επιστρέφει (με echo) όλες τις πόλεις στην μορφή:

Κώδικας: Επιλογή όλων

<option value="30">Greece</option>
<option value="31">Germany</option>

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Υποβολή field αλλά όχι ολοκληρης της φόρμας.

Δημοσίευση από Apostolis_38 » 07 Νοέμ 2012 10:23

Ενδιαφέρον κι αυτό, αν και πρέπει να δημιουργήσω extra php αρχείο για να τρέξω το query.
Θα το κοιτάξω όμως κι αυτό.

Απορία, αυτό jQuery.ajax με μπερδεύει.
Η JQuery δεν είναι κάτι διαφορετικό απότην AJAX;

Cretan1986
Δημοσιεύσεις: 79
Εγγραφή: 14 Απρ 2012 13:57

Υποβολή field αλλά όχι ολοκληρης της φόρμας.

Δημοσίευση από Cretan1986 » 07 Νοέμ 2012 10:37

H jQuery είναι μια βιβλιοθήκη της javascript, και όχι framework όπως πολλοί λένε, που επιταχύνει την ανάπτυξη μιας εφαρμογής. Μέσα στις πολλές μεθόδους που έχει, έχει και για AJAX με αποτέλεσμα να κάνει πολύ εύκολη τη χρήση της.
Ajax είναι ένας τρόπος για να κάνεις ασύγχρονες εφαρμογές.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Υποβολή field αλλά όχι ολοκληρης της φόρμας.

Δημοσίευση από Apostolis_38 » 07 Νοέμ 2012 10:49

Μάλιστα, ευχαριστώ.
Μάλλον θα πάω για "καθαρό" AJAX μπας και ξεστραβωθώ και μάθω κάτι παραπάνω.

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες