我的按钮元素似乎没有任何效果。在这里,我有多个函数可以测试它是否提供警报窗口 - 它们不起作用,但它似乎正确写入。我将提供2个功能代码,这些代码要么不起作用,要么html按钮元素有助于检查代码。我是1个月的javascript,所以如果这里的错误被证明是一个愚蠢的错误,我提前道歉。
HTML按钮元素:
<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>
function#1(从javascript创建元素并添加一个事件监听器。这个不使用html表单,但函数#2会这样做):
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');
})
函数#2(注释掉函数#1并写出这段代码。仍然不起作用):
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 :(得分:2)
功能不会触发,这意味着您在编码中犯了一些错误(语法错误)。
尝试纠正以下问题:
1.用此document.getElementById("submitbutton").addEventListener("click", test();
替换此行document.getElementById("submitbutton").addEventListener("click", test());
2.转换这一行document.getElementById("submitbutton").addEventListener("click", test())
;
在关闭<script> tag
之前(最后)。
如何调试javascript程序?
您可以通过右键单击主窗口屏幕&gt;轻松调试它。将出现一个下拉选择检查元素选项将出现一个窗口 - &gt;单击选项卡上的控制台在这里,您可以看到红色突出显示的javascript错误。