el02154 Δημοσ. 31 Αυγούστου 2010 Δημοσ. 31 Αυγούστου 2010 έχω μια ερωτηση μήπως μπορεί κάποιοσ να βοηθήσει. Θέλω ανάλογα με τι επιλέγω σε μία selection list να εμφανίζονται διαφορετικά πεδία στη φόρμα. Ουσιαστικά βρίσκω με μία javascript την επιλεγόμενη τιμή και επιστρέφω μία τιμή που την παίρνω με php παρακάτω και ανάλογα την τιμή της εμφανίζω διαφορετικά πεδία. Ο κώδικας είναι ο εξής: <script type="text/javascript" language="javascript"> function check_option(obj) { //var id = obj.selectedIndex // returns the index of the selected option, ie: 0,1,2... //var id2 = obj.value //returns the value of the selected option var id = obj.options[obj.selectedIndex].text ;// returns the text nested in the selected option return id; } </script> και παρακάτω το εξής: <form id="form1" name="form1" method="get" action="insert_element.php"> <span id="sprytextfield1"> <label for="Name">Name:<br /> </label> <input type="text" name="Name" id="Name" tabindex="10" /> <span class="textfieldRequiredMsg"><br /> Enter Device Name as shown in the configuration.</span></span> <br/><br/> <span id="spryselect1"> <label for="Type">Type:</label> <br /> <select name="Type" id="Type" tabindex="20" onchange="check_option(this.form)"> <option value="Switch">Switch</option> <option value="Router">Router</option> <option value="Server">Server</option> <option value="Other">Other</option> </select> <span class="selectRequiredMsg">Please select an item.</span></span><br /> <br /> <select name="test" onchange="check_list(this)"> <option value="test">test</option> <option value="test2">test2</option> </select> <?php $choice = $_GET['id']; echo "id",$choice; if (strcmp($choice,"Switch")==0) echo ' μπλα μπλα... Δυστυχώς δεν φαίνεται να αλλάζει κάτι όταν αλλάζω την τιμή της λίστας..Εχω δοκιμάσει άπειρα πράγματα αλλά δεν δουλεύει...Φαίνεται πως παρότι αλλάζει η επιλεγμένη τιμή η onchange δεν καλεί (???) την συνάρτηση ή τελος πάντων η μεταβήτη $choice δεν παίρνει κάποια τιμή. Μπορεί κάποιος να βοηθήσει;
Uberalles_gr Δημοσ. 31 Αυγούστου 2010 Δημοσ. 31 Αυγούστου 2010 Μισό λεπτό φίλε μου γιατί μάλλον είσαι μπερδεμένος... Όταν καλείς την συνάρτηση check_list (η οποία καλείται όταν αλλάζεις τιμή στο select) τότε σου επιστρέφει από ότι βλέπω το τι περιέχει το option του select. Αυτό γίνεται με το return id.. Τώρα το return id μην μου πεις ότι προσπαθείς να το πάρεις με το $choice = $_GET['id']; γιατί όσο και να προσπαθείς δεν θα το πάρεις ποτέ.. Το $_GET['id'] χρησιμοποιείται για να τραβήξουμε τις τιμές των μεταβλητών ΠΑΝΩ ΑΠΟ ΤΟ URL Αυτό που θες να κάνεις γίνεται με ΑJAX και είναι μια πολύ καλή ευκαιρία να δεις τις δυνατότητες που σου προσφέρει..
el02154 Δημοσ. 31 Αυγούστου 2010 Μέλος Δημοσ. 31 Αυγούστου 2010 Ναι αυτό προσπαθώ να κάνω. Το GET δεν το είχα προσέξει. REQUEST είχα αλλά φαίνεται πως το άλλαξα σε μια στιγμή απόγνωσης. Γιατί δεν μπορώ να 'τραβήξω' με php το id απο την javascript function; Όντως ειμαι λίγο μπερδεμένος αλλά από κάτι που διάβασα στο Ιντερνετ νόμιζα πως γίνεται.
Uberalles_gr Δημοσ. 31 Αυγούστου 2010 Δημοσ. 31 Αυγούστου 2010 Όχι φίλε μου δεν γίνεται... Το $_REQUEST δηλώνει ότι θα ψάξει για την μεταβλητή είτε εάν είναι πάνω στο URL ($_GET) είτε την έχεις ποστάρει από κάποια φόρμα ($_POST) Αυτό που θες γίνεται με AJAX που σου είπα
euita Δημοσ. 31 Αυγούστου 2010 Δημοσ. 31 Αυγούστου 2010 γεια σασ...γραφτηκα πριν λιγο εδω κ δεν 3ερω πωσ να γραψω το καινουριο μηνυμα μου.μποτει καποιοσ να μου πει?με συγχςρειτε ειλικρινα που γραφω εδω απλα δεν ξερω ¨(
Uberalles_gr Δημοσ. 31 Αυγούστου 2010 Δημοσ. 31 Αυγούστου 2010 γεια σασ...γραφτηκα πριν λιγο εδω κ δεν 3ερω πωσ να γραψω το καινουριο μηνυμα μου.μποτει καποιοσ να μου πει?με συγχςρειτε ειλικρινα που γραφω εδω απλα δεν ξερω ¨( Δες pm σου
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.