elis88 Δημοσ. 25 Ιανουαρίου 2010 Δημοσ. 25 Ιανουαρίου 2010 Γεια σας παιδιά, ενώ αυτός ο κωδικάς τρέχει πάρα πολυ καλα στο firefox, google chrome, στον internet explorer δεν τρέχει καθόλου (oύτε καν error στην console). > function setProducts(vend_id) { var xmlhttp; if(window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } else { xmlhttp = new ActiveXObject(Microsoft.XMLHTTP); } xmlhttp.onreadystatechange=function() { if(xmlhttp.readyState == 4) { document.getElementById("products").innerHTML= xmlhttp.responseText; } }; var sel = document.getElementById("subcats"); xmlhttp.open("GET","getProductsByCat.php?subcat="+ sel.options[sel.selectedIndex].value + "& vend=" + vend_id ,true); xmlhttp.send(null); }
Maniakos Δημοσ. 26 Ιανουαρίου 2010 Δημοσ. 26 Ιανουαρίου 2010 Δεν υπάρχει κανένας λόγος να προσπαθείς να είσαι cross browser compatible από την στιγμή που υπάρχουνε τόσο καλές javascript libraries, με προσωπική αγαπημένη την jQuery, οι οποίες το κάνουν αυτό για εσένα. Θα σε συμβούλευα να την χρησιμοποιήσεις για να μην σπαταλάς τον χρόνο σου σε κάτι τέτοια.
elis88 Δημοσ. 26 Ιανουαρίου 2010 Μέλος Δημοσ. 26 Ιανουαρίου 2010 Δεν υπάρχει κανένας λόγος να προσπαθείς να είσαι cross browser compatible από την στιγμή που υπάρχουνε τόσο καλές javascript libraries, με προσωπική αγαπημένη την jQuery, οι οποίες το κάνουν αυτό για εσένα. Θα σε συμβούλευα να την χρησιμοποιήσεις για να μην σπαταλάς τον χρόνο σου σε κάτι τέτοια. Ok Thanks. Θα το ψάξω, αν και δεν έχω πολύ χρόνο
johnny21a Δημοσ. 26 Ιανουαρίου 2010 Δημοσ. 26 Ιανουαρίου 2010 Ο φιλος maniakos εχει δικιο, ειδικα με την Jquery καθε λειτουργια ajax γινεται παιχνιδακι και δεν χρειαζεται να ανησυχεις για τον αν θα δουλευει σε καθε browser, παλιους και καινουργιους...
elis88 Δημοσ. 26 Ιανουαρίου 2010 Μέλος Δημοσ. 26 Ιανουαρίου 2010 Στην συγκεκριμένη περίπτωση πάντως, από τους ελέγχους που έκανα έβγαλα το συμπέρασμα ότι τα δεδομένα έρχονται κανονικά. Η εντολη που δνε δουλεύει είναι αυτη: >document.getElementById("products").innerHTML= xmlhttp.responseText; Αυτό προσπαθεί να βάλει μερικά <option> .. </option> σε μία <select> .. </select>. Μήπως ξέρει κανείς τίποτα σχετικά; * Να ξανα τονίσω ότι στους άλλους browsers παίζει κανονικά
johnny21a Δημοσ. 26 Ιανουαρίου 2010 Δημοσ. 26 Ιανουαρίου 2010 Στο products μηπως πρεπει να βαλεις #products ? Ετσι μια γρηγορη σκεψη...
elis88 Δημοσ. 26 Ιανουαρίου 2010 Μέλος Δημοσ. 26 Ιανουαρίου 2010 Στο products μηπως πρεπει να βαλεις #products ? Ετσι μια γρηγορη σκεψη... Μπα ούτε έτσι..
johnny21a Δημοσ. 26 Ιανουαρίου 2010 Δημοσ. 26 Ιανουαρίου 2010 Κανε ενα alert αυτο >document.getElementById("products").innerHTML= xmlhttp.responseText; για να δεις αν πρωτα απο ολα φορτωνει σωστα και πες μου αν ειναι οκ
elis88 Δημοσ. 26 Ιανουαρίου 2010 Μέλος Δημοσ. 26 Ιανουαρίου 2010 Κανε ενα alert αυτο >document.getElementById("products").innerHTML= xmlhttp.responseText; για να δεις αν πρωτα απο ολα φορτωνει σωστα και πες μου αν ειναι οκ Ναι αυτό το έχω τσεκάρει, είναι οκ.
johnny21a Δημοσ. 26 Ιανουαρίου 2010 Δημοσ. 26 Ιανουαρίου 2010 Τελευταια προσπαθεια, αλλαξε αυτο >xmlhttp = new ActiveXObject(Microsoft.XMLHTTP); σε αυτο >xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); αλλιως κανε μια χαρη στον εαυτο σου, χρησιμοποιησε jquery, μια γραμμη κωδικα θελει μονο για ajax load και εισαι σιγουρος οτι θα δουλευει παντου... Δες ποσο ευκολο ειναι... $('#products').load('getProductsByCat.php' + ....);
elis88 Δημοσ. 26 Ιανουαρίου 2010 Μέλος Δημοσ. 26 Ιανουαρίου 2010 Τελευταια προσπαθεια, αλλαξε αυτο >xmlhttp = new ActiveXObject(Microsoft.XMLHTTP); σε αυτο >xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); αλλιως κανε μια χαρη στον εαυτο σου, χρησιμοποιησε jquery, μια γραμμη κωδικα θελει μονο για ajax load και εισαι σιγουρος οτι θα δουλευει παντου... Δες ποσο ευκολο ειναι... $('#products').load('getProductsByCat.php' + ....); Μια γραμμή είναι;
johnny21a Δημοσ. 26 Ιανουαρίου 2010 Δημοσ. 26 Ιανουαρίου 2010 Ναι η μεθοδος για ajax load ειναι μια γραμμη μονο!
elis88 Δημοσ. 26 Ιανουαρίου 2010 Μέλος Δημοσ. 26 Ιανουαρίου 2010 Ναι η μεθοδος για ajax load ειναι μια γραμμη μονο! Θα το δοκιμάσω μία... ---------- Προσθήκη στις 19:42 ---------- Προηγούμενο μήνυμα στις 18:30 ---------- Βασικά βρήκα αυτό τον τρόπο, άλλα δεν ξέρω γιατί δεν τρέχει: > <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.min.js"> </script> <script type="text/javascript"> function setProducts(vend_id) { var sel= document.getElementById("subcats"); $.ajax({ url: 'ajax/getProductsByCat.php?subcat='+ sel.options[sel.selectedIndex].value + '&vend=' + vend_id, success: function(data) { $('#products').html(data); alert('Load was performed.'); } }); }
johnny21a Δημοσ. 26 Ιανουαρίου 2010 Δημοσ. 26 Ιανουαρίου 2010 Ε ειπαμε μια γραμμη ναι, αλλα χωρις καθολου κωδικα πως να τρεξει!!!!
elis88 Δημοσ. 26 Ιανουαρίου 2010 Μέλος Δημοσ. 26 Ιανουαρίου 2010 Ε ειπαμε μια γραμμη ναι, αλλα χωρις καθολου κωδικα πως να τρεξει!!!! Χαχαχαχα, δες το αλλή μία κατα λάθος πάτησα το κουμπάκι πριν ---------- Προσθήκη 27-01-2010 στις 01:58 ---------- Προηγούμενο μήνυμα 26-01-2010 στις 19:54 ---------- Τελικά πέτυχε με αυτό τον τρόπο: > $('#products').load('getProductsByCat.php?subcat='+sel.options[sel.selectedIndex].value + '&vend=' + vend_id, function() { alert('Load was performed.'); Άλλα γιατι δεν πέτυχε έτσι: > $('#products').load("getProductsByCat.php?subcat="+sel.options[sel.selectedIndex].value + "& vend=" + vend_id); Όπως και να εχει ευχαριστώ πάαααααααααααααααααρα πολύ!!!
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.