• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

was ist in diesem script falsch

sam1

Banned
Was ist in diesem Script falsch.
Das Skript setzt einen Button und führt die unten stehende function mit einem alert aus, dass alert soll aber erst ausgeführt werden wenn auf den Button geklickt wird

bitte was is in dem Script falsch.

HTML:
var input=document.createElement("input");
input.type="button";
input.value="GreaseMonkey Button";
input.onclick = showAlert();
document.body.appendChild(input); 

function showAlert()
    alert("Hello World");
}
 
Zuletzt bearbeitet von einem Moderator:
Wenn du es bei geöffneter Konsole laufen lässt sollte mindestens ein Syntax Fehler in der dritten Zeile von unten erscheinen.
 
Man weist außerdem die Funktion als Referenz zu: input.onclick = showAlert;
 
Wenn ich das script so laufen lasse wie ich es oben eingefügt habe, dann kommt in der Console keine fehlermeldung.


Beim ausführen mit der zeile wie von j-I-n genannt kam gestern Abend eine fehlermeldung und es wurde nicht einmal der Button erstellt, als ich es eben nochmal ausprobiert habe wurde so der Button erstellt, aber die Funktion wird bei einem Klick auf den Button immer noch nicht ausgeführt, es kam auch keine fehlermeldung mehr.
Es ist irgendwie komisch das es sich automatisch änderte, obwohl ich zweimal dasselbe script ausgeführt habe kommt einmal einen fehlermeldung und es geht sonst garnichts, beim zweiten mal kommt keine fehlermeldung und es geht alles außer das die Funktion bei einem klick auf den Button ausgeführt wird.
Ich denke das jedes mal das gleiche gemacht werden muss und nicht einmal so und einmal so.

Bitte irgendwas stimmt hier nicht, ich würde nun gerne noch wissen wie ich es schaffe das bei einem klick auf den Button die funktion bzw. das alert angezeigt wird.
 
Zuletzt bearbeitet:
Worauf micdoe dich hinweisen wollte, ist, dass bei der Definition von showAlert() die öffnende geschweifte Klammer fehlt. Wenn ich die hinzufüge und außerdem noch den Hinweis von jln einbaue, funktioniert es:
Code:
              input.type="button";
              input.value="GreaseMonkey Button";
              input.onclick = showAlert;
              document.body.appendChild(input); 

              function showAlert() {
                  alert("Hello World");
              }
 
Ich habe nochmal nach geschaut in meinem Userscript ist die die öffnende geschweifte Klammer vorhanden.
Aber es geht trotzdem nicht.

ich weiss auch nicht warum die die öffnende geschweifte Klammer in meinem eintrag fehlt, eigentlich müsste sie vorhanden sein.
Ich kann es nur so erklären das ein fehler eines Servers über die es gehen muss nachdem absenden des Beitrag, solche Fehler haben ich schon öfter erlebt
 
Ich kann es nur so erklären das ein fehler eines Servers über die es gehen muss nachdem absenden des Beitrag, solche Fehler haben ich schon öfter erlebt
Und du wunderst dich, das bei dir Sachen nicht klappen? Ich würde erstmal meine Internetverbindung störungsfrei machen.
 
es geht trotzdem nicht.
Wirf bitte einen Blick in die Fehlerkonsole und gib eine aussagekräftige Fehlerbeschreibung!

ich weiss auch nicht warum die die öffnende geschweifte Klammer in meinem eintrag fehlt, eigentlich müsste sie vorhanden sein.
Ich kann es nur so erklären das ein fehler eines Servers über die es gehen muss nachdem absenden des Beitrag, solche Fehler haben ich schon öfter erlebt
Versteh ich jetzt ehrlich gesagt nicht...
 
Code:
var input = document.createElement("input");
    input.type="button";
    input.value="GreaseMonkey Button";
    input.addEventListener('click', function(){
       showAlert();
     });
    
	function showAlert() {
          alert("Hello World");
        }
	
document.body.appendChild(input);

Ich bin mir nicht sicher, ob das mit dem input.onclick überhaupt möglich ist, generell würde ich empfehlen mit EventListeners zu arbeiten
 
generell würde ich empfehlen mit EventListeners zu arbeiten
Wenn, dann aber schon richtig:

Code:
function showAlert(){
  alert("Hello World");
}

var input = document.createElement("input");
input.type="button";
input.value="GreaseMonkey Button";
if(document.addEventListener){
  input.addEventListener("click", showAlert, false);
}
else if(document.attachEvent){
  input.attachEvent("onclick", showAlert);
}
document.body.appendChild(input);
 
Zurück
Oben