Oppure

Loading
23/09/13 11:44
giocala88
Salve ragazzi girando in rete mi sono ritrovato uno script che fa al caso mio. Questo script opportunamente modificato dal sottoscritto
invia un modulo tramite post, oltre che restituire un'anteprima dell'immagine caricata. Lo script funzione egregiamente se non fosse che vorrei implementare un controllo sull'andamento dell'upload. Posto il codice

index.html
<script language="Javascript">

		function fileUpload(form, action_url, div_id) {
			// Create the iframe...
			var iframe = document.createElement("iframe");
			iframe.setAttribute("id", "upload_iframe");
			iframe.setAttribute("name", "upload_iframe");
			iframe.setAttribute("width", "0");
			iframe.setAttribute("height", "0");
			iframe.setAttribute("border", "0");
			iframe.setAttribute("style", "width: 0; height: 0; border: none;");
		 
			// Add to document...
			form.parentNode.appendChild(iframe);
			window.frames['upload_iframe'].name = "upload_iframe";
		 
			iframeId = document.getElementById("upload_iframe");
		 
			// Add event...
			var eventHandler = function () {
		 
					if (iframeId.detachEvent) iframeId.detachEvent("onload", eventHandler);
					else iframeId.removeEventListener("load", eventHandler, false);
		 
					// Message from server...
					if (iframeId.contentDocument) {
						content = iframeId.contentDocument.body.innerHTML;
					} else if (iframeId.contentWindow) {
						content = iframeId.contentWindow.document.body.innerHTML;
					} else if (iframeId.document) {
						content = iframeId.document.body.innerHTML;
					}
		 
					document.getElementById(div_id).innerHTML = content;
		 
					// Del the iframe...
					setTimeout('iframeId.parentNode.removeChild(iframeId)', 250);
				}
		 
			if (iframeId.addEventListener) iframeId.addEventListener("load", eventHandler, true);
			if (iframeId.attachEvent) iframeId.attachEvent("onload", eventHandler);
		 
			// Set properties of form...
			form.setAttribute("target", "upload_iframe");
			form.setAttribute("action", action_url);
			form.setAttribute("method", "post");
			form.setAttribute("enctype", "multipart/form-data");
			form.setAttribute("encoding", "multipart/form-data");
		 
			// Submit the form...
			form.submit();		
			
			document.getElementById(div_id).innerHTML = "Uploading...";					
			
			var testo = $('#'+upload).text();
			if(testo == "ok") {
				alert('Il testo contenuto è:\n\n'+testo);
			}
		}
		</script>
	</head>
	
	<body>
 
		
		<!-- index.php could be any script server-side for receive uploads. -->
			<form name="input_form_pubblica" id="input_form_pubblica">
				<input type="file" name="datafile" onchange="fileUpload(this.form,'preview.php','upload'); return false;" /></br>
				<input type="submit" value="upload" onClick="fileUpload(this.form,'index.php','upload'); return false; " onclick="GetText('upload')" >
				<textarea type="text" name="post" id="post"></textarea>
				<div id="upload" class='upload' ></div>
			</form>



pagina index.php
<?php 

	//echo $_FILES['datafile']['name']."<br />";
	//echo $_POST['a'];
	
	if($_POST['post'] != NULL)
echo "ok";	
		
	
?>


In pratica vorrei un controllo sulla lettura della stringa "ok". Quindi se è "ok" refresha la pagina index.html altrimenti non fare nulla.
Come posso fare? Grazie8-|
aaa
24/09/13 11:46
GN
Dato che lo script fa il submit in un iframe, dovresti leggere il contebuto di quell'iframe: alla riga 55, prova a ricavarne il contenuto
w3schools.com/jsref/…
aaa