sakis94 Δημοσ. 25 Ιουνίου 2014 Δημοσ. 25 Ιουνίου 2014 Στο παρακατω κομματακι στελνω εικονες και κειμενο με ajax θα ηθελα αν καποιος μπορει να με βοηθησει να στελνω και σε internet explorer 9 και κατω επειδη to FormData δεν το αναφνωριζει function postarticle() { var form = document.getElementById('articleform'); var header = form.getElementsByTagName('input')[0].value; var images = form.getElementsByTagName('input')[1]; var images = images.files; var select = form.getElementsByTagName("select")[0]; var text = form.getElementsByTagName("textarea")[0].value; select = select.options[select.selectedIndex].value; var formData = new FormData(); formData.append('header', header); if(images.length > 0) { formData.append('image', images[0], images[0].name); } formData.append('cat', select); formData.append('text', text); var url = typeof XMLHttpRequest === 'function'? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); url.open('POST', 'php/postarticle.php', true); url.onload = function () { if(url.status === 200) { switch(parseInt(url.responseText)) { case 0: Sakis('#box').load(window.location+' #box', function(){ Sakis.dialog('#articleformcont').close(); showpop('Article', 'Posted', 2000); }); break; default: showpop('Article', '(Error): '+url.responseText, 2000); break; } } else { alert('An error occurred!'); } }; url.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); url.send(formData); } αν θυμαμαι καλα τα δεδομενα πρεπει να ειναι σε μορφη string πχ url.send("name=value");το θεμα μετα ειναι πως στελνω τις εικονες
alou Δημοσ. 25 Ιουνίου 2014 Δημοσ. 25 Ιουνίου 2014 Δε νομίζω ότι γίνεται σε IE9 (χωρίς κάποιο κόλπο με rendering iframes μέσα στη φόρμα, κανονικό post με js submit(), ping για check και ιστορίες για αγρίους). Γιατί δεν κοιτάς τις λύσεις που υπάρχουν με jQuery? Site: Αυτό νομίζω θα σε βολέψει μια χαρά.
defacer Δημοσ. 25 Ιουνίου 2014 Δημοσ. 25 Ιουνίου 2014 Σε IE9 όντως δεν γίνεται χωρίς ιστορίες για αγρίους. Όλα τα plugins που το υποστηρίζουν τέτοιες ιστορίες κάνουν. Επίσης σε IE θα έχεις και πολλές "ενδιαφέρουσες εκπλήξεις" αν θέλεις να επιστρέψεις και κάποιο π.χ. JSON response. Αλλά στην τελική δεν έχεις άλλη επιλογή οπότε για καθαρά πρακτικούς λόγους, αντί να προσπαθήσεις να το φτιάξεις από την αρχή πάρε κάτι δοκιμασμένο σα βάση.
sakis94 Δημοσ. 25 Ιουνίου 2014 Μέλος Δημοσ. 25 Ιουνίου 2014 λοιπον ελεγα να φτιαξω ενα iframe νεα φορμα και να κανω κανονικο submit το θεμα ειναι πως θα παρω response text εχετε καμια ειδεα κανα χρησημο link ?
alou Δημοσ. 25 Ιουνίου 2014 Δημοσ. 25 Ιουνίου 2014 Αφού θες να μπλέξεις δες αυτό αλλά να ξέρεις, θα παιδεύεσαι για να ανακαλύψεις ότι θα γινόταν με μεγαλύτερο compatibility και τρόπο με κάτι ήδη έτοιμο. Η λογική είναι ότι αφήνεις το iframe να κάνει το post κανονικά, να γίνει echo εκεί οτιδήποτε θες και να το πάρεις πιθανότατα με κάποιο timeout γιατί δεν έχεις promise.
defacer Δημοσ. 26 Ιουνίου 2014 Δημοσ. 26 Ιουνίου 2014 Θα έχεις θέματα να ξέρεις. Για παράδειγμα, είσαι περιορισμένος στο τι content-type θα επιστρέψεις επειδή αν δε βάλεις (αν θυμάμαι καλά, ίσως έχω κάπου λάθος) text/html ή text/plain ο IE θα αποφασίσει να σου βγάλει save dialog σαν αποτέλεσμα του form submission. Αν επιστρέψεις HTTP error code τότε θα πρέπει να στείλεις μαζί και τουλάχιστον 512 bytes content διαφορετικά ο IE θα το κρατήσει για τον εαυτό του και θα "εμφανίσει" τις γνωστές helpful error pages στη θέση του.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα