Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Στο παρακατω κομματακι στελνω εικονες και κειμενο με 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");
το θεμα μετα ειναι πως στελνω τις εικονες

Δημοσ.

Δε νομίζω ότι γίνεται σε IE9  (χωρίς κάποιο κόλπο με rendering iframes μέσα στη φόρμα, κανονικό post με js submit(), ping για check και ιστορίες για αγρίους).

Γιατί δεν κοιτάς τις λύσεις που υπάρχουν με jQuery? Link.png Site: Αυτό νομίζω θα σε βολέψει μια χαρά.

Δημοσ.

Σε IE9 όντως δεν γίνεται χωρίς ιστορίες για αγρίους. Όλα τα plugins που το υποστηρίζουν τέτοιες ιστορίες κάνουν.

 

Επίσης σε IE θα έχεις και πολλές "ενδιαφέρουσες εκπλήξεις" αν θέλεις να επιστρέψεις και κάποιο π.χ. JSON response.

 

Αλλά στην τελική δεν έχεις άλλη επιλογή οπότε για καθαρά πρακτικούς λόγους, αντί να προσπαθήσεις να το φτιάξεις από την αρχή πάρε κάτι δοκιμασμένο σα βάση.

Δημοσ.

λοιπον ελεγα να φτιαξω ενα iframe νεα φορμα και να κανω κανονικο submit

το θεμα ειναι πως θα παρω response text εχετε καμια ειδεα κανα χρησημο link ?

Δημοσ.

Αφού θες να μπλέξεις δες αυτό αλλά να ξέρεις, θα παιδεύεσαι για να ανακαλύψεις ότι θα γινόταν με μεγαλύτερο compatibility και τρόπο με κάτι ήδη έτοιμο.

 

Η λογική είναι ότι αφήνεις το iframe να κάνει το post κανονικά, να γίνει echo εκεί οτιδήποτε θες και να το πάρεις πιθανότατα με κάποιο timeout γιατί δεν έχεις promise.

Δημοσ.

Θα έχεις θέματα να ξέρεις. Για παράδειγμα, είσαι περιορισμένος στο τι content-type θα επιστρέψεις επειδή αν δε βάλεις (αν θυμάμαι καλά, ίσως έχω κάπου λάθος) text/html ή text/plain ο IE θα αποφασίσει να σου βγάλει save dialog σαν αποτέλεσμα του form submission.

 

Αν επιστρέψεις HTTP error code τότε θα πρέπει να στείλεις μαζί και τουλάχιστον 512 bytes content διαφορετικά ο IE θα το κρατήσει για τον εαυτό του και θα "εμφανίσει" τις γνωστές helpful error pages στη θέση του.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...