Gio123 Δημοσ. 9 Φεβρουαρίου 2015 Δημοσ. 9 Φεβρουαρίου 2015 Καλησπέρα, Έχω τα εξής: Έχω ένα <select onchange="show(this.value)"> ...</select> και ακριβώς από κάτω μέσα σε μία φόρμα έχω ένα <table> όπου το γεμίζω με κάποια SESSION που παίρνω τις τιμές από ένα αρχείο countRequest.php. Αυτό που θέλω να κάνω είναι αναλόγως το select που θα επιλέξει ο χρήστης να επιστρέφει το php αρχείο μέσω του SESSION τις κατάλληλες τιμές. Το θέμα είναι ότι προσπάθησα να το κάνω με Ajax αλλά δεν τα κατάφερα. function show(str) { console.log(str); if (str == "") { document.getElementById("txtHint").innerHTML = ""; return; } else { if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } else { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { document.getElementById("txtHint").innerHTML = xmlhttp.responseText; } } xmlhttp.open("GET","countRequest.php?r="+str,true); xmlhttp.send(); } Καμία ιδέα για το πως θα γινόταν; Ευχαριστώ.
Xvipes Δημοσ. 11 Φεβρουαρίου 2015 Δημοσ. 11 Φεβρουαρίου 2015 $.ajax({ type: "GET", url: "countRequest.php", data: {data : str}, cache: false, success: function(data) { console.log(data); } }); Βάλε jquery και κάνε το παραπάνω. Η μεταβλητή data είναι ότι θα σου κάνει echo το countRequest.php. Μέσα στο success κάνεις ότι θες για να γεμίσεις τα tables της html σου.
Gio123 Δημοσ. 11 Φεβρουαρίου 2015 Μέλος Δημοσ. 11 Φεβρουαρίου 2015 Δεν έχω καταλάβει κάτι. Αν μέσα στο countRequest.php έχω κάποια S_SESSION και θέλω να τυπώσω στην html σελίδα μου(για την ακρίβεια σε ένα table) πως θα γίνει με το παραπάνω που θα εξαρτάτε από drop menu; Σε ευχαριστώ.
Xvipes Δημοσ. 11 Φεβρουαρίου 2015 Δημοσ. 11 Φεβρουαρίου 2015 Αν δε θες να βάλεις τα session στο header.php και να τα κάνεις echo με την μια, τότε από την countRequest.php θα κάνεις echo τις μεταβλητές και στο success(data) θα τις πετάς όπου θες. Κάνε μερικές δοκιμές να δεις τι γίνεται στο success και εδώ είμαστε p.s console.log("is your friend");
Gio123 Δημοσ. 11 Φεβρουαρίου 2015 Μέλος Δημοσ. 11 Φεβρουαρίου 2015 Μια χαρά φίλε, τελικά βρήκα την λύση ήταν εύκολο. Τα αποτελέσματα τα τυπώνω μέσα σε μία <form> και θέλω κάθε φορά που πατάω submit να παραμένω εκεί που ήμουν και πριν (στο συγκεκριμένο option) αλλά όσα έχω καταφέρει δεν έχουν αποτέλεσμα, δεν ξέρω μήπως έχεις να προτείνεις κάτι.
Xvipes Δημοσ. 12 Φεβρουαρίου 2015 Δημοσ. 12 Φεβρουαρίου 2015 Αν κατάλαβα καλά θες το dropdown menu να μένει στην επιλογή που διάλεξες. Στο option element θα βάλεις selected αν το value είναι ίσο με την επιλογή. Αν θες δώσε κώδικα να είναι πιο εύκολο.
Gio123 Δημοσ. 12 Φεβρουαρίου 2015 Μέλος Δημοσ. 12 Φεβρουαρίου 2015 Έχω αυτό... <form name="formfinally" id="formfinally" action="SendSubjFinally.php" method="POST"> <div id="txt"> <!-- παρουσίαση τον αποτελεσμάτων --> </div> </form> ακριβώς από πάνω έχω το drop menu <select class="SelectOp" id="select" name="select" > <option selected value="0">x</option> <option value="1">y</option> <option value="2"> z</option> </select> και αυτό $(document).ready(function(){ $('#select').change(function(){ var select = $('#select').val(); if(select != 0) { $.ajax({ type:'post', url:'countRequest.php', data:{data:select}, cache:false, success: function(data) { $('#txt').html(data); } }); } }); και θέλω κάθε φορά που πατάω submit την φορμα μου να παραμένω εκεί που ήμουν.
Xvipes Δημοσ. 13 Φεβρουαρίου 2015 Δημοσ. 13 Φεβρουαρίου 2015 <select class="SelectOp" id="select" name="select" > <option value="0" <?php ($_POST['select'] == 0)? 'selected':'';?>>x</option> <option value="1" <?php ($_POST['select'] == 1)? 'selected':'';?>>y</option> <option value="2" <?php ($_POST['select'] == 2)? 'selected':'';?>> z</option> </select> Αν φορτώνεις πάλι την σελίδα σου τότε το παραπάνω θα σου έχει επιλεγμένη την τιμή που διάλεξες στο post. Αν θες να το κάνεις με javascript θα πρέπει να ελέγχεις τι value του έδωσες και να βάζεις το selected attribute το αντίστοιχο option
Gio123 Δημοσ. 13 Φεβρουαρίου 2015 Μέλος Δημοσ. 13 Φεβρουαρίου 2015 Φίλε δεν δουλεύει δεν μπορώ να καταλάβω το γιατί... <form name="formfinally" id="formfinally" action="SendSubjFinally.php" method="POST" onsubmit=""> <div align="left"> <select class="SelectOptionSubj" id="select" name="select" > <option value="0" <?php ($_POST['select'] == 0)? 'selected':'';?>>x</option> <option value="1" <?php ($_POST['select'] == 1)? 'selected':'';?>>y</option> <option value="2" <?php ($_POST['select'] == 2)? 'selected':'';?>>z<option> </select> </div> <div id="txt"> <!-- παρουσίαση τον αποτελέσμάτων --> </div> <input class="buttonDone" type="submit" name="submit" value"Submit style="cursor:pointer"/> </form> Σε σχέση με το ajax παραπάνω θα ήθελα μόλις πατάω το κουμπί submit το select να είναι ίδιο και από κάτω να έχω ενημερωμένα το success: function(data) { $('#txt').html(data);} Σε ευχαριστώ πολύ.
Xvipes Δημοσ. 13 Φεβρουαρίου 2015 Δημοσ. 13 Φεβρουαρίου 2015 Ναι είμαι μλκς, ξέχασα το echo <select class="SelectOptionSubj" id="select" name="select" > <option value="0" <?php echo ($_POST['select'] == 0)? 'selected':'';?>>x</option> <option value="1" <?php echo ($_POST['select'] == 1)? 'selected':'';?>>y</option> <option value="2" <?php echo ($_POST['select'] == 2)? 'selected':'';?>>z<option> </select> Για το ajax κάτι γρήγορο είναι το παρακάτω $(document).ready(function(){ var select = "<?php echo (isset($_POST['select']))? $_POST['select'] : '0'; ?>"; if(select != 0) { $.ajax({ type:'post', url:'countRequest.php', data:{data:select}, cache:false, success: function(data) { $('#txt').html(data); } }); } $('#select').change(function(){ var select = $('#select').val(); if(select != 0) { $.ajax({ type:'post', url:'countRequest.php', data:{data:select}, cache:false, success: function(data) { $('#txt').html(data); } }); } }); }); Κάνε το ajax μια function και usare τo όποτε θες. άκυρο
Gio123 Δημοσ. 14 Φεβρουαρίου 2015 Μέλος Δημοσ. 14 Φεβρουαρίου 2015 Φίλε ώραιο αυτό σαν απάντηση αλλά πραγματικά δεν μπορώ να καταλάβω γιατί δεν δουλεύει. Απ' ότι έχω καταλάβει, φταίει το $_POST['select] είναι πάντα μηδέν κάθε φορά που κάνω submit. Το έλεγξα με var select = "<?php echo (isset($_POST['select']))? $_POST['select'] : '0'; ?>"; alert(select); και τυπώνει 0. Κανονικά το $_POST['select'] δεν έχει το value του select; Sorry που σε παιδεύω αλλά μου φαίνεται περιέργο!
Gio123 Δημοσ. 14 Φεβρουαρίου 2015 Μέλος Δημοσ. 14 Φεβρουαρίου 2015 Τελικά φίλε βρήκα μία λύση αντί να χρησιμοποιώ το $_POST πέρασα την τιμή μου σε ένα $_SESSION αλλά άμα ήθελα να το έχω σε ένα ξεχωριστώ file.js η php δεν δουλεύει. Πως μπορώ να το διορθώσω αν γίνεται;
0verc0me Δημοσ. 14 Φεβρουαρίου 2015 Δημοσ. 14 Φεβρουαρίου 2015 Φίλε ώραιο αυτό σαν απάντηση αλλά πραγματικά δεν μπορώ να καταλάβω γιατί δεν δουλεύει. Απ' ότι έχω καταλάβει, φταίει το $_POST['select] είναι πάντα μηδέν κάθε φορά που κάνω submit. Το έλεγξα με var select = "<?php echo (isset($_POST['select']))? $_POST['select'] : '0'; ?>"; alert(select); και τυπώνει 0. Κανονικά το $_POST['select'] δεν έχει το value του select; Sorry που σε παιδεύω αλλά μου φαίνεται περιέργο! Αντικατέστησε το $_POST['select'] με το $_POST['data'].
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα