HTML Neu laden bei link

  • Hallo Leute.

    Versuche mich gerade ein wenig in HTML/Javscript für handyapps.

    Ich habe im body tag eine onload methode drinnen, die auf eine Datenbankzugreift und daten abfragt.
    Auf der seite gibt es einen link der auf eine neue seite fürht. Klickt man diesen Link an, wird noch mal die onLoad Methode von BOdy Tag ausgeführt.
    Kann man das irgendwie verhindern oder anders lösen?

    CODe:
    <body onload="init()">
    <!-- ein paar ausgaben...-->
    <a href="newOrt.html"><button>LInk</button></a>
    </body>

    wenn ich jetzt den link anklicke, möchte ich nur auf die neue Seite gelangen, ohne dass noch mal die OnLoad Methode aufgerufen wird.

    Ich hoffe ihr könnt mir helfen.

    LG
    MrsTudore

  • Der HTML-Code ist fehlerhaft. Statt

    HTML
    <a href="newOrt.html"><button>LInk</button></a>

    solltest Du

    HTML
    <a href="newOrt.html">LInk<</a>

    schreiben.

    Ich hoffe der Rest des Quellcodes ist sauberer als dieser angepasste Schnipsel.

    Ansonsten würde nur ein Link zur betroffenen Seite helfen.

  • Naja, er wollte ja einen Button haben, auf den man Klicken kann. Du hast zum einen die aufwendige Methode, die ohne JS funktioniert:

    HTML
    <form action="newOrt.html"><input type="submit" value="weiter >>"></form>


    oder mit JS

    HTML
    <button onclick="location.href='newOrt.html';"></button>

    für eine WebApp halte ich es aber für sinnvoller, wenn du dir eine Methode machst loadPage(String source), die alle relevanten Bereiche leert, eine Ladeanimation zeigt und dann im Hintergrund per AJAX die neue Seite herunterlädt und anzeigt.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • Einen Link kann man per CSS auch zu einem Button umgestalten. Daher ist weder ein Formular noch ein <button>-Element dafür notwendig. Ein Link hat zudem den Vorteil, dass Suchmaschinenbots sehr leicht darüber hinweg kommen. Alles andere wäre eine Hürde.