|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Dec 2007
Città: Friuli
Messaggi: 154
|
[jquery][php] primo utilizzo
Dato che ho la necessità di inviare un file al server (cosa che non avevo mai fatto) ho provato a utilizzare jquery nel codice JS, scrivendo questa funzione per inviare il file:
Codice:
InsertHandler.prototype.handleFile = function(event) { var file = event.target.id; // var filename = file.value; //section = SPLIT id var filename = $("#OffertaFile").val(); var par = {}; par[file] = filename; $.post( "http://www.nomeserver.it/PATH/test.php", par, function(){alert("Data Uploaded:");} ); } Codice:
<?php print "Received {$_FILES['OffertaFile']['name']} - its size is {$_FILES['OffertaFile']['size']}"; ?> Non arriva il file, nel senso che l'output è: Received - its size is Motivo? PS: stesso risultato con $.ajax (jquery)
__________________
iPhone4, MacBook |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Mar 2006
Città: Riccione
Messaggi: 1851
|
anche io sto facendo a cazzotti con jquery e php... per realizzare un semplice login...
sembra quasi che il metodo post non faccia niente... non capisco... ho aperto il topic oggi pomeriggio e si potrebbero quasi unire... |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Dec 2007
Città: Friuli
Messaggi: 154
|
Sono riuscito a inviare il file (e a riceverlo),
ho create un iframe invisibile cablato in html. Ci aggiungo dinamicamente un form con i dovuti attributi, quindi (dopo aver fatto selezionare il file) sposto un elemento <input type=file> nel form del iFrame invisibile. a questo punto invio il submit del form nel iFrame invisibile con una chiamata esplicita a submit() Tutto riesce, MA PERCHE' HO IL CAMBIO PAGINA ? Non dovrebbe essere una richiesta nascosta dato che a farla è un form dentro un iFrame invisibile? Manca qualche attributo nel iFrame o nel form in esso contenuto? qui i codici: Codice html dell'iFrame Codice:
<iframe id="hiddenFrame" style="display:none"> </iframe> Codice:
// iFrame & hidden_form // this.hiddenFrame = document.getElementById("hiddenFrame"); this.hiddenForm = document.createElement("form"); this.hiddenForm.id = "hiddenForm"; this.hiddenForm.name = "hiddenForm"; this.hiddenForm.method = "post"; this.hiddenForm.action = "http://www.XXX.xxx/test.php";//this.URL; this.hiddenForm.enctype="multipart/form-data"; this.hiddenForm.src="about:blank"; //this.hiddenForm.target="hiddenForm"; this.hiddenForm.addEventListener("submit",function(){alert("four");},false); this.hiddenFrame.appendChild(this.hiddenForm); Codice:
InsertHandler.prototype.handleFile = function(event) { var file = event.target; var fileParent = file.parentNode; this.hiddenForm.appendChild(file); this.hiddenForm.submit(); }
__________________
iPhone4, MacBook |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
lascia perdere jquery e utilizza dojo ... io mi trovo bene ed ha un sacco di widget che puoi utilizzare
qui trovi una demo di un "file uploader" . Te lo consiglio perchè puoi definire che tipi di file puo uploadare l'utente , la grandezza del file e l'upload multiplo ( puoi selezionare più files contemporaneamente ) non conosco jquery ma da quel che ho visto non mi risulta che abbia queste opzioni
__________________
Acer 5940G{Intel Core i7 Q720 Quadri motore; 8Gb DDR3; ATI Radeon HD 4650 1024MB; 500Gb hdd} |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Mar 2006
Città: Riccione
Messaggi: 1851
|
Quote:
Cmq... io creo nel codice html l'iframe nascosto, poi ci inserisco dentro un form e tutti i campi che mi servono via javascript, una volta fatto questo posso passare al form nascosto tutti i dati che ho inserito in quello visibile giusto? |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:44.