# Frage zu body onload"...()"-Funktion



## meinereiner85 (21. Februar 2008)

Hallo

ich habe mal wieder eine Frage:

Ich habe eine Page wo ich mit GoogleMaps arbeite. Darin ist im Body ein ein div, worin ein Button liegt. Ich will eine Methode meiner JavaScript-Datei aufrufen wenn ich auf den Button klicke.

Erstmal eine kurze Codeübersicht:

```
<body onload="load()" onunload="GUnload()" style="background-color: #FFFFFF;">
<div id="left">
<form name="Form"><p>
<input type="submit" value="Go" name="losgehts" onclick="load()"></input></p>
... 
(schließende Tags spare ich mir jetzt)
```

Wenn ich auf meinen Button klicke wird alles auch einwandfrei eingezeichnet, allerdings wird sofort danach wieder die erneut die load()-Methode geladen und alles wieder überschrieben. Bzw. wird beim Laden der Seite direkt die Aktion ausgelöst und nicht erst wenn ich auf den Button klicke.
Wie kann ich das unterbinden?

Onload weglassen oder keine Methode eintragen führen dazu, dass der Breich wo vorher Befüllt wurde direkt wieder durch "nichts", also weiß überschrieben wird nachdem kurzzeitig meine durch die load()-Methode erstellte Karte sichtbar war.

Was kann ich machen, dass nur meine Methode aufgerufen wird, wenn ich den Button drücke und diese dann auch nicht überschrieben wird?

Würde mich über eine kurze Info sehr freuen.
Gruß
meinereiner85


----------



## Sven Mintel (22. Februar 2008)

```
<body  onunload="GUnload()" style="background-color: #FFFFFF;">
<div id="left">
<form name="Form"><p>
<input type="button" value="Go" name="losgehts" onclick="load()"></p>
```

Der Grund dafür, dass die Funktion erneut aufgerufen wird, liegt schlicht darin, dass sie beim onload notiert ist...der Button, den du da hast, ist ein Submit-Button, wenn du raufklickst, wird erst deine Funktion aufgerufen, und dann das Formular gesendet....also die Seite auch neu Geladen.


----------



## meinereiner85 (22. Februar 2008)

Hallo 
und Danke für die Hilfe.
Ich hatte ganz übersehen, dass ich einen submit eingebaut habe anstatt einen Button!

Danke fürs Augen öffnen!!

Aber eine andere Frage habe ich noch, vielleicht wisst ihr ja weiter:

Ich habe in meiner HTML-Datei einen XML-Datei definiert:
<xml src="Daten.xml" id = "Daten"></xml>

Diese muss ich aber durch einen Buttonklick durch eine zusammengesetzte URL ersetzen, damit ich diese meinem Parser übergeben kann:
var bla = document.getElementById('Daten');
data1= bla.documentElement.childNodes(0);

Wie kann ich statt der XML-Datei den Inhalt eines HTTP-Requests übergeben?

(Soll ich besser einen neuen Thread aufmachen)
Gruß
meinereiner


----------

