我的Javascript出了什么问题?

时间:2011-06-21 07:15:49

标签: javascript html

这是我的jsfiddle(http://jsfiddle.net/mZGsp/)。我试图在这里回答一个问题,但我的代码不起作用。这是代码:

JS

var stateOfClick = null;

function initiateLine(){
    document.getElementById('test').innerHtml = "Started";
}

function endLine(){
    document.getElementById('test').innerHtml = "Line Ended";
}

function createLines(){
  if(!stateOfClick) {
    initiateLine();
    stateOfClick = 1;
  } else {
    endLine();
  }
}

HTML

<body>
    <input type="text" id="test" onclick="createlines()">
</body>

3 个答案:

答案 0 :(得分:5)

有几件事,

  • createlines()更改为createLines(驼峰式)。
  • <element>.innerHtml更改为<element>.value
  • 在JSFiddle中,不要将你的代码包装在一个函数中,因为createLines将不是全局的,onclick才能工作。

这是一个有效的example

答案 1 :(得分:2)

this simple example甚至不适用于jsFiddle。您需要使用JavaScript附加事件监听器:

document.getElementById("someElement").onclick = function() {
  //Do stuff  
}

答案 2 :(得分:0)

对于input元素,您必须使用value属性而不是innerHTML字段。

function initiateLine(){
    document.getElementById('test').value = "Started";
}

你也拼错了innerHTML函数(虽然不是主要问题)。 innerHTML用于可以包含其他元素的html元素,例如包含p元素的div。输入和选项元素都具有值属性,可用于提取或设置其值。