ungelöst jQuery-Funktion aus externer Datei aufrufen.

Joined
Apr 21, 2007
Messages
2,585
Reaction score
1
Und zwar folgendes, ich moechte meine JavaScript-Funktionen in einer externen Datei auslagern.
Dafuer mach ich das um einmal jquery zu importieren und dann die Datei mit meinen Funktionen.

Code:
<script type="text/javascript" src="js/jq.js"></script>
<script type="text/javascript" src="js/functions.js"></script>

Ich habe folgenden JavaScript.

Code:
$(document).ready(function() {
	document.getElementById('statusMessage').value='';
	document.getElementById('statusMessage').focus();
	$('#target').submit(function() {
	var tData = $("#statusMessage").val();
	if(tData == '')
		alert('Your status message can\'t be empty');	
		
	else{
		var dataString = 'text=' + tData;
		$.ajax({
			type: 'POST',
			url: 'functions.inc.php',
			data: dataString,
			cache: false,
			success: function (html) {
				$("#conent").after(html);
				window.location.reload(true);
			}
		});
	}
	return false;
	});
});
Diese Funktion wird aufgerufen, sobald eine Form mit der ID target submitted wird. Nun will, ich das aber ueber eine externe Datei machen und schreibe deshalb den Code von oben in die functions.js. Das funktioniert auch so weit ganz gut, wenn ich dies aber nun in eine Funktion schreiben will

Code:
function writePost(){

}

wird die Funktion aber nicht mehr aufgerufen. Irgendwelche Ideen, wie ich das hinkriege, dass es trotzdem funktioniert?
 
Hallo, kannst du bitte genauer erklären was das Problem ist? Wird die Deklaration der Funktion nicht gefunden oder führt der Aufruf der Funktion zu einem "leeren" Ergebnis?

Was steht in deiner JS-Console?

Beachte bitte auch die Lade-Reihenfolge. Die Funktion sollte zuerst geladen, bzw. deklariert werden.
 
Was ich tun moechte: Ein Formular ueber jQuery absenden
Was funktioniert im JavaScript: Das Formular wird abgesendet, wenn es in einer externen Datei oder in der selben Datei "lose" steht
Was funktioniert nicht im JavaScript: Sobald ich den JavaScript-Code in eine Methode setze, wird die Methode logischerweise ja nicht mehr aufgerufen. Nun moechte ich aber, dass es aufgerufen wird, allerdings weiss ich nicht wie ich das tue, denn mit

onsubmit='javascript:writePost()', komme ich ja nicht weit, da das Script nicht ueberprueft ob der Submit-Button gedrueckt wurde, sondern ob das Formular abgesendet wurde, sehe ich das richtig? Ich hoffe, das ist logisch zu verstehen. Ansonsten koennt ich auch mal den Kompletten Sourcecode hier offenbaren, sind allerdings viele Zeilen, die gar nicht zum Problem gehoeren, daher dachte ich mir, dass ich das lieber sein lasse.
 
Back
Top