exciter: Mit Button Javascript aufrufen!

Ich will folgendes Javascript mit einem gewöhnlichen Formular-Button aufrufen, aber es funzt einfach nicht!

<script language="JavaScript">
<!--
function openWindow(url,name,eigenschaften) {
window.open(url,name,eigenschaften);
}
//-->
</script>

<input type="button" value="Button" onclick="location.href='javascript:openWindow('seite.html','popup','width=550,height=550,screenX=100,left=100,screenY=100,top=100,toolbar=0,menubar=0,location=0,status=0,resizable=0,scrollbars=yes')'" name="button">

warum geht das nicht?

  1. Hi, <== Begrüßung

    aber es funzt einfach nicht!

    es soll nicht funzen, sondern funktionieren.

    <script language="JavaScript">

    Das type-Attribut fehlt.

    function openWindow(url,name,eigenschaften) {
    window.open(url,name,eigenschaften);

    Warum erstellst Du eine Funktion, die nichts anderes macht als die Parameter durchzureichen? Das ist elektronischer Staffellauf.

    onclick="location.href='javascript:openWindow('seite.html','popup','width=550,height=550,screenX=100,left=100,screenY=100,top=100,toolbar=0,menubar=0,location=0,status=0,resizable=0,scrollbars=yes')'"

    WAAAH!!!1

    Äh...

    ...Erklär mir doch mal bitte, warum Du eine JavaScript-Methode aufrufst, die den Browser anweist, eine JavaScript-Funktion aufzurufen (die dann eine JavaScript-Methode aufruft). Warum packst Du nicht einfach nur Dein window.open() in den Event-Handler?

    Der Fehler liegt übrigens bei den Anführungszeichen. Wenn Du einen String mit ' beginnst, endet er beim nächsten '.

    Cheatah

  2. Hallo

    <input type="button" value="Button" onclick="location.href='javascript:openWindow('seite.html','popup','width=550,height=550,screenX=100,left=100,screenY=100,top=100,toolbar=0,menubar=0,location=0,status=0,resizable=0,scrollbars=yes')'" name="button">

    ^^^^^^^^^^^^^^^^^^^^^^^^^^

    Es muß so heißen:
    <input type="button" value="Button" onclick="openWindow('seite.html','popup','width=550,height=550,screenX=100,left=100,screenY=100,top=100,toolbar=0,menubar=0,location=0,status=0,resizable=0,scrollbars=yes')'" name="button">

    Viele Grüße...

    Alex :)

  3. Begrüßung.

    <input type="button" value="Button" onclick="location.href='javascript:openWindow('seite.html','popup','width=550,height=550,screenX=100,left=100,screenY=100,top=100,toolbar=0,menubar=0,location=0,status=0,resizable=0,scrollbars=yes')'" name="button">

    Onclick ist ein Javascript-Event-Handler, daher lässt du das javascript: weg, es _ist_ ja schon Javascript.

    Weiters öffnet location.href keine neue Seite, sondern lädt diese im aktuellen Fenster. Lass' es weg.

    Weiters stehen am Ende der Fenster-Definition zwei "'" ;) Das letzte musst du weglassen.

    Weiters liest du am besten http://selfhtml.teamone.de/javascript/.

    Probier's mal hiermit:

    <input type="button" value="Button" onclick="openWindow('seite.html','popup','width=550,height=550,screenX=100,left=100,screenY=100,top=100,toolbar=0,menubar=0,location=0,status=0,resizable=0,scrollbars=yes');" name="button">

    Verabschiedung.

    1. Hi,

      <input type="button" value="Button" onclick="location.href='javascript:openWindow('seite.html','popup','width=550,height=550,screenX=100,left=100,screenY=100,top=100,toolbar=0,menubar=0,location=0,status=0,resizable=0,scrollbars=yes')'" name="button">
      Onclick ist ein Javascript-Event-Handler, daher lässt du das javascript: weg, es _ist_ ja schon Javascript.

      das ist in _diesem_ Fall nicht richtig[1]... schau noch mal genauer hin ;-)

      Cheatah

      [1] Weil das "javascript:" nicht am Anfang des Event-Handlers steht, sondern dem Browser als URL übergeben wird; identisch damit, den Teil ab einschl. "javascript:" in die Location-Zeile des Browsers zu schreiben.

      1. Hi, Cheatah (ja, diesmal mit h *g*)

        onclick="location.href='javascript:openWindow()

        Onclick ist ein Javascript-Event-Handler, daher lässt du das javascript: weg, es _ist_ ja schon Javascript.

        das ist in _diesem_ Fall nicht richtig[1]... schau noch mal genauer hin ;-)

        Ok, die Worte hör' ich wohl, nur...

        [1] Weil das "javascript:" nicht am Anfang des Event-Handlers steht, sondern dem Browser als URL übergeben wird; identisch damit, den Teil ab einschl. "javascript:" in die Location-Zeile des Browsers zu schreiben.

        ...welchen Grund könnte es geben, sich mit der rechten Hand um den Rücken herum am linken Ohr zu kratzen?

        Ich gestehe es ein, _das_ habe ich noch nirgendwo gesehen ;)

        LG Orlando

        1. Hi,

          ...welchen Grund könnte es geben, sich mit der rechten Hand um den Rücken herum am linken Ohr zu kratzen?

          das Publikum zahlt dafür? ;-)

          Ich gestehe es ein, _das_ habe ich noch nirgendwo gesehen ;)

          Ich war auch sehr erstaunt - _so_ viele Umwege habe ich noch nie gesehen. Anstatt in den Handler einfach das window.open() zu setzen, wird es in eine Funktion gekapselt, die vom Browser aufgerufen wird, nachdem dieser durch den Handler darum gebeten wurde...

          Vor allem ist auf diese Idee vermutlich noch kein anderer gekommen[1]. Wirklich kreativ :-)

          Cheatah

          [1] Zumindest hat noch keiner _ernsthaft_ darüber nachgedacht *g*