Funktion ausführen, nachdem erfolgreichem submit

creativeheadz

Erfahrenes Mitglied
Hallo zusammen,
ich sende über ein Formular, eine Bilddatei an eine externe PHP Datei. Die php Datei übernimmt den Upload, speichert den Namen des Bildes in der DB und gibt ein HTML Tag zurück, der dann das Bild in einem Div Container anzeigt.
Das ganze realisiere ich mit jquery. Das ganze klappt auch soweit ganz gut.

Folgenden Code habe ich bis jetzt:

Code:
 $(document).ready(function() { 
		
	$('#product_img').live('change', function(){ 
			
			    $("#preview_img").html('');
			    $("#preview_img").html('<div><img src="<?php echo $http.$server_path; ?>pub/img/loading.gif"></div>');
				
				$("#imageform").ajaxForm({target: '#preview_img' }).submit();	
		
		});
	});

Mein Ziel ist es, den Namen des Bildes, in ein inputFeld zu übernehmen, nachdem der Upload erfolgreich war.

Aus dem Grund habe ich den Code wie folgt erweitert. Jetzt habe ich das Problem, dass der Upload und das Auslesen aus der Datenbank zur gleichen Zeit passiert. Das bedeutet, dass ich den Bildnamen nicht aus der Datenbank ausgeben kann, da wahrscheinlich der Upload noch nicht erfolgreich abgeschlossen ist und noch kein Bildname in der Datenbank steht.

Code:
 $(document).ready(function() { 
		
	$('#product_img').live('change', function(){ 
			
			    $("#preview_img").html('');
			    $("#preview_img").html('<div><img src="<?php echo $http.$server_path; ?>pub/img/loading.gif"></div>');
				
				$("#imageform").ajaxForm({target: '#preview_img' }).submit();
				
				
				$.getJSON("app/jquery/get_img_input.php",
				function(data){
				  $.each(data, function(i,item){
					if (item.field == "img") {
					  $("#img").val(item.value);
					}
				  });
				});

		
		
		});
	});

Wie kann ich nun den Namen erst auslesen, wenn der Upload erfolgreich war?

Vielen Dank im voraus!

Gruß
C
 
Du müsstest eine Callback-Funktion angeben, welche bei Erfolg ausgeführt wird.

Laut Dokumentation von ajaxForm müsste dies klappen:
Javascript:
$("#imageform").ajaxForm({target: '#preview_img')}).submit(function () {
  // hier rein $.getJSON!
});
Allerdings weiß ich nicht, ob die Callback-Fkt. auch aufgerufen wird, wenn der Upload fehlgeschlagen ist. Aber probiers erstmal so.
 
hm, jetzt wird der upload garnicht mehr ausgeführt.

O, da hat sich ein ) zu viel eingeschlichen.

Jetzt bleibt das loading.gif die ganze Zeit stehen. Und ein upload findet auch nicht statt.
 

Neue Beiträge

Zurück