JS Script wer kann helfen? ( userscript for Greasemonkey

Heyo
ich ahbe leider kaum plan von js benötige aber trozdem ein script :S wäre super wenn mit einer helfen könnte:

Der Html code wie er jetzt aussieht

</div> <div class="buttonArea"> <input type="submit" value="Abschicken" class="fieldBtnSubmit" /> <a class="fieldBtnCancel" href="/Forum/ThreadMessages/fa7e0e7409d0c87b/9b8a58f84c188e3a">Abbrechen</a> </div>

nun möchte ich ein js userscript haben das wenn man den submit button drückt gleichzeitig im hintergrund eine gethttpxml funktion ausgeführt wird:

 var u=/Profile\/(\w+)/.exec(document.getElementById("masterLeft").innerHTML) || ["",""]
      GM_xmlhttpRequest({
        method: 'GET',
        url: "http://linkzurphp?u="+u[1]+"&c=1",

da das ganze ein userscipt ist dachte ich mir das ganez müsste inetwa so ausshen:

[code]function init(){
if(document.URL.indexOf("/Forum/ThreadMessages/")!=-1){
container=document.getElementsByTagName(“buttonArea”);

container.innerHTML=‘onclick=“function getInfo() { var u=/Profile/(\w+)/.exec(document.getElementById(“masterLeft”).innerHTML) || [”",""]; GM_xmlhttpRequest({ method: ‘GET’, url: “http://linkzurphp?u="+u[1]+"&c=1”, });}"’;
}
}

init();[/code]

weiß jmd wie das geht? also das mit dem container.innerHTML='onclick=" ?

WENN JMD EINE ANDERE IDEE MIT DEM GETXMLHTTP HAT -> auch melden^^

lg Michi

Also wenn du XMLHttpRequest meinst (AJAX), hab ich was:

JavaScript:

/*
	Funktion:		requestObject
	Beschreibung:	erstellt ein XMLHttpRequest-Objekt
	Parameter:		-
	Rückgabewert:	Zeiger auf das Objekt
*/

function requestObject() {
	if (window.XMLHttpRequest) {
		request = new XMLHttpRequest(); // Mozilla, Safari, Opera
	} 
	else if (window.ActiveXObject) {
		try {
			request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
		} 
		catch (e) {
			try  {
				request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
			} 
			catch (e) 
			{}
		}
	}
	return request;
}

/*
	Funktion:		requestToElement
	Beschreibung:	schreibt das Ergebnis aus einem Request in ein HTML-Element
	Parameter:		url - Adresse des Requests, elm - Zeiger auf das Element, in das das Ergebnis geschrieben werden soll, showLoadingState - Status (Laden...) wird angezeigt
	Rückgabewert:	-
*/

function requestToElement( url, elm, showLoadingState ) {
	var request = requestObject();
	
	request.open('get', url, true);
	request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	request.send(null);
	
	if(showLoadingState) elm.innerHTML = "Laden...";
	
	request.onreadystatechange = function() {
		switch(request.readyState) {
			case 4:
				if(request.status == 200) {
					var answer = request.responseText;
					elm.innerHTML = answer;			
				}
				break;
		}
	}
}

Für die Ausführung beim Submit-Button machst du:

<input type="submit" onsubmit="requestToElement('/dir/file.html', document.getElementById('ajax_result'))" />

<span id="ajax_result"></span>

Wenn du also Submit drückst, wird im Hintergrund eine Datei geladen. Deren Inhalt wird in das span-Element geschrieben.

Wir in der Funktion der dritte Parameter auf true gesetzt, wird, solange der Request noch nicht fertig ist, im span-Element “Laden…” angezeigt.

Mehr zu Ajax hier: http://ajax.frozenfox.at

Lg stgr

@stgr: Lies sein Posting noch mal durch…

@Hardi: Für so etwas wäre es vielleicht auch von Interesse, auf welche Seite du das anwenden willst. In dem Fall sollte das das Schüler- bzw. StudiVZ sein.

In Greasemonkey-Scripts kannst du Elemente so mit onclick-Handlern versehen:object.addEventListener("click", function() { /* code */ }, false);
(Es gibt natürlich noch bessere, sprich kompatiblere Wege, aber Kompatibilität ist ja egal und das ist die einzige Methode, die in Greasemonkey-Scripts funktikoniert.)

Allerdings weiß ich nicht wirklich, was du damit willst:

GM_xmlhttpRequest() ist eigentlich richtig verwendet, du solltest vielleicht einen onload- bzw. onerror-Handler definieren.

thx @ stgr hilft mir aber nicht weil es sich um ein userscript handelt ( simulation von scriptenm auf eienr website wie zb bplaced… zu denen man keinen direkten scripting zugang hat)

@ scram jo danke. ist fürs schülervz ( beiträge counter)

werde mal gucken ob ich es hinbekomme =D

nur eine frage zu object.addEventListener(“click”, function() {
/* code */
}, false);

woran merkt den das script das ich auf den “abschicken” button klicke? weil da sind ja mehrere… ich ahbe nur einen html “auszug” gepostet

lg und danke -> Michael