1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

[JavaScript] Button erzeugen / Funktion aufrufen

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von Alecco, 22.01.10.

  1. Alecco

    Alecco Transparent von Croncels

    Dabei seit:
    17.02.09
    Beiträge:
    306
    Hi,

    ich erzeuge ein Formular mit JavaScript. Ich habe auch einen Button erzeugt, aber ich weiß nicht, wie ich ihm ein onClick Event zuweisen kann.

    Ich habe bisher folgendes:

    Code:
    ...
    document.write("<input type='button' value='weiter' onClick="+test()+">");
    ...
    

    Mit diesem Code wird die Funktion direkt beim Laden der Seite aufgerufen.
     
  2. naich

    naich Pommerscher Krummstiel

    Dabei seit:
    22.11.08
    Beiträge:
    3.059
    Ich glaube das was du da geschrieben hast willst du nicht ;)

    wenn du die Funktion durch den Button aufrufen willst, musst du die "+" wegmachen (alles 1 String). Und natürlich muss die Funktion test() definiert sein...
     
  3. nickdesignz

    nickdesignz Friedberger Bohnapfel

    Dabei seit:
    09.01.09
    Beiträge:
    534
    Ich bin ein Javascript Künstler aber muss das nicht so gehen?
    onClick="+test+()">"); ???
     
  4. Alecco

    Alecco Transparent von Croncels

    Dabei seit:
    17.02.09
    Beiträge:
    306
    Also wenn es nur 1 String ist, dann passiert bei mir nicht.

    BTW:

    Code:
    function test(){
        alert("Es klappt!");    
    }
    
    :D
     
  5. gKar

    gKar Maunzenapfel

    Dabei seit:
    25.06.08
    Beiträge:
    5.362
    Ich übersetze mal, was Du da geschrieben hast (sollte eigentlich für jeden Programmierer offensichtlich sein):

    Code:
    document.write("<input type='button' value='weiter' onClick="+test()+">");
    
    Gib den folgenden String aus:
    "<input type='button' value='weiter' onClick=ABC>",
    aber zuvor rufe test() auf und ersetze im String das "ABC" durch das von der Funktion test zurückgegebene Ergebnis. In Deinem Fall ist das Ergebnis void, d.h. es wird einfach folgendes ausgegeben:
    <input type='button' value='weiter' onClick=>

    Das ist nicht einmal valides HTML.

    Selbstverständlich muss es wie folgt heißen:
    Code:
    document.write("<input type='button' value='weiter' onClick='test()'>");
    
    Wenn das nicht funktioniert, würde ich mir mal Gedanken machen, ob die Funktion test() überhaupt verfügbar/eingebunden ist.
     
  6. Alecco

    Alecco Transparent von Croncels

    Dabei seit:
    17.02.09
    Beiträge:
    306
    Ich habe das anders gelöst. Aber so wie oben beschrieben hat es nicht geklappt :(
     
  7. knalli

    knalli Stechapfel

    Dabei seit:
    19.01.10
    Beiträge:
    159
    Noch so ein document.write Künstler, wie ich bereits eben schrieb: Besser Abstand davon nehmen und DOM-Manipulationen direkt machen.

    Zwei weitere Anmerkungen:
    a) onClick="+test()" ist selbstverständlich Kappes :p
    b) auch sowas besser auslagern, also bspw. mit document.getElementById('buttonId').onclick = test; Das gleiche gilt auch für das Body onload Event.
     

Diese Seite empfehlen