2016-10-28 6 views
0

Nichts scheint auf meinem Knopfelement zu funktionieren. Hier habe ich mehr als eine Funktion, um zu testen, ob es das Alarmfenster gibt - sie funktionieren nicht, aber es scheint, als wäre es richtig geschrieben. Ich werde 2 Funktionscodes zur Verfügung stellen, die entweder nicht funktionieren und das html-Button-Element, mit dem der Code untersucht werden soll. Ich bin 1 Monat in Javascript, also entschuldige ich mich im Voraus, wenn sich der Fehler hier als ein dummer Fehler entpuppt.Warum funktioniert meine Tastenfunktion nicht?

HTML Tastelement:

<form input='text' action="" method="post" name="entry" class="journalentry" id='form'> 
    <textarea name='entrybody' rows='12' cols='90' placeholder="Anything you want to write about the day you are thinking of." class="journalentry"></textarea 
    <button type='submit' onclick= "test()" id='submitid' class='submitbutton'>Submit</button> 
</form> 

Funktion # 1 (., Das Element von JavaScript Erstellen und Hinzufügen eines Ereignis-Listener dieses tut verwenden das HTML-Formular, aber Funktion # 2 der Fall ist):

var submitelement = document.createElement('BUTTON'); 
var submittextnode = document.createTextNode("SUBMIT ME"); 
submitelement.appendChild(submittextnode); 
document.body.appendChild(submitelement); 
var submitattr = document.createAttribute("id"); 
submitAttr.value = "submitbutton"; 
submitelement.setAttributeNode("submitAttr"); 


submitelement.addEventListener('click', function() { 
    alert('88888'); 
}) 

Funktion # 2 (kommentiert out-Funktion # 1 und schrieb diesen Code aus noch nicht funktioniert.):

document.getElementById("submitbutton").addEventListener("click", test(); 
function test() { 
    var url = 'http://news.google.com'; 
    var method = "GET"; 
    var httpObj = new XMLHttpRequest(); 
     httpObj.open(method, url, 'true'); 
     httpObj.addEventListener("readystatechange", processRequest, false); 
} 

function processRequest (e) { 
    if (httpObj.readyState == 4 && httpObj.status == 200)) { 
     // time to partay!!! 
     var response = httpObj.responseText; 
     alert(response); 
    } 
} 
+0

Sie fehlen ein ')' in 'document.getElementById (" submitbutton "). AddEventListener (" click ", test(); ' Manchmal hilft es wirklich, Konsole zu öffnen und Ihre Fehler zu lesen. –

+0

document.getElementById ("submitbutton"). addEventListener ("click", test()); –

Antwort

2

Funktion löst nicht aus, das bedeutet, dass Sie einige Fehler in Ihrer Codierung (Syntaxfehler) gemacht haben.
Versuchen folgende Probleme korrigieren: -
1.Replace diese Linie document.getElementById("submitbutton").addEventListener("click", test(); mit dieser document.getElementById("submitbutton").addEventListener("click", test());
2. Umschalttaste dieser Zeile document.getElementById("submitbutton").addEventListener("click", test()); vor dem Schließen Ihrer <script> tag (am Ende).
Wie JavaScript-Programm zu debuggen?
Sie können es leicht debuggen, indem Sie mit der rechten Maustaste auf den Hauptfenster-Bildschirm gehen -> ein Dropdown-Menü erscheint inspect Element Option ein Fenster erscheint -> klicken Sie auf die Konsole auf den Tabs. Hier können Sie Ihre Javascript Fehler rot hervorgehoben sehen.

Verwandte Themen