Gio123 Δημοσ. 14 Μαΐου 2015 Δημοσ. 14 Μαΐου 2015 Καλησπέρα, Έχω αυτό τον κώδικα $(document).ready(function(){ $('.formdate input[type="checkbox"]').change(function(){ var form = document.formdate; var check_pro = $(form).serialize(); $.ajax({ data: check_pro, type: 'POST', async: true, url: "SendDateSystem.php", beforeSend: function(){ }, success: function ( dataBack ){ }, complete: function(){ } }); return false; }); }); Το .fordate είναι ένα id ενός div όπου μέσα εκεί έχω έναν πίνακα που τον γεμίζω έτσι: <td valign="top" align="center"><?php echo "<input type='checkbox' name='check_pro[]' class='check' value='".$arrayidpro[$i]."'>"; ?></td> Το πρόβλημα μου είναι ότι παίρνω άδεια δεδομένα γιατί συμβαίνει αυτό; Ευχαριστώ.
alou Δημοσ. 14 Μαΐου 2015 Δημοσ. 14 Μαΐου 2015 Αν όντως το .formdate το έχεις σαν id="formdate" βρέθηκε το πρόβλημά σου (#formdate)
Gio123 Δημοσ. 14 Μαΐου 2015 Μέλος Δημοσ. 14 Μαΐου 2015 Λάθος δικό μου τυπογραφικό....έτσι το έχω όπως λες, αλλά ακόμα τίποτα.... Επίσης έχω αυτό echo $_POST['check_pro']; και μου βγάζει Undefined index: check_pro
alou Δημοσ. 14 Μαΐου 2015 Δημοσ. 14 Μαΐου 2015 Τι θέλεις να πάρεις? για κάθε checkbox, αν είναι checked θα πάρεις ότι έχει οριστεί σαν value κάπως έτσι (μια και ήδη χρησιμοποιείς jQuery): $('input[name="check_pro[]"]').serialize() όπου το $_POST['check_pro'] θα είναι NULL ή array με τις τιμές των input:checked. 1
nucleus Δημοσ. 14 Μαΐου 2015 Δημοσ. 14 Μαΐου 2015 https://api.jquery.com/serialize/ Encode a set of form elements as a string for submission. Χρησιμοποιείς λάθος την serialize. var form = document.formdate; var check_pro = $(form).serialize(); To document.formdate είναι ένα div για δοκίμασε αντι για το div να κάνεις το εξής. <form id="formdate"> [Βάλε εδώ το table σου με τα input fields σου] </form> και άλλαξε και τον js κώδικα σου ως εξής: $(document).ready(function(){ $('input[type="checkbox"]').change(function(){ var check_pro = $('#formdate').serialize(); $.ajax({ data: check_pro, type: 'POST', async: true, url: "SendDateSystem.php", beforeSend: function(){ }, success: function ( dataBack ){ }, complete: function(){ } }); return false; }); });
Gio123 Δημοσ. 14 Μαΐου 2015 Μέλος Δημοσ. 14 Μαΐου 2015 Ωραία παιδιά ευχαριστώ μια χαρά. Αλλά επειδή θα σπάσω το κεφάλι μου σε κάτι σχεδόν ίδιο γιατί μου τυπώνει ότι το $_POST είναι null και το αρχείο το διαβάζει μια χαρά. $('.dateSend input[type="text"]').change(function(){ //var date = $(form).serialize(); //var dateStar = $(form).serialize(); var dateEnd = $('#example2').val(); var dateStar = $('#example1').val(); //αυτά έχουν τιμή τα τύπωσα κανονικά var dataDate = dateStar+"-"+dateEnd; $.ajax({ data: dataDate, type: 'POST', async: true, url: "SendDateSystem.php", beforeSend: function(){ }, success: function ( dataBack ){ }, complete: function(){ } }); return false; }); Τι μπορεί να φταίει;
nucleus Δημοσ. 14 Μαΐου 2015 Δημοσ. 14 Μαΐου 2015 (επεξεργασμένο) Firefox Δεξί click στην σελίδα Inspect element και πήγαινε στο Network. Άλλαξε το κείμενο στο textfield και δες όταν κάνει το post στην SendDateSystem.php τα Params για το συγκεκριμένο request. Στον chrome δες τα developer tools (Ctrl+Shift+I). Αν θες έτοιμη λύση χωρίς να το ψάξεις λίγο το πρόβλημα σου είναι ότι το παρακάτω στο ajax call σου data: dataDate, έχει σαν αποτέλεσμα μια παράμετρο example1-example2:"" που δεν είναι το σωστό υποθέτω Άλλαξε το παραπάνω με το data: {data:dataDate}, Η παράμετρος θα είναι σαν data:"example1-example2" οπότε με $_POST["data"] λογικά θα έχει τιμή μετά Επεξ/σία 14 Μαΐου 2015 από nucleus
defacer Δημοσ. 14 Μαΐου 2015 Δημοσ. 14 Μαΐου 2015 Τι μπορεί να φταίει; Ότι βάζεις δεδομένα "ο,τι να'ναι" στο HTTP request. Δηλαδή έστω ότι το dataDate καταλήγει να είναι "mpourmpoutsaulos-autokrator". Τι υποτίθεται ότι περιμένεις να δεις μέσα στη $_POST μετά απ' αυτό; Το σωστό θα ήταν κάτι του στυλ data: { dateStart: $('#example1').val(), dateEnd: $('#example2').val() } ή ακόμα καλύτερα data: $("#example1, #example2").serialize() αλλά και πάλι γιατί παιδεύεσαι να τα κάνεις όλα manually αντί να κάνεις ένα απλό $form.submit()?
Gio123 Δημοσ. 14 Μαΐου 2015 Μέλος Δημοσ. 14 Μαΐου 2015 Περίεργα πράγματα... $.ajax({ data: { dateStart: $('#example1').val(), dateEnd: $('#example2').val() }, type: 'POST', async: true, url: "SendDate.php", beforeSend: function(){ }, success: function ( dataBack ){ }, complete: function(){ } }); Επιμένει να τυπώνει ότι είιναι null if(!empty($_POST['dateStart']) && !empty($_POST['dateEnd'])){ }
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα