理解Javascript变量

时间:2016-03-29 21:29:43

标签: javascript html variables

我学习javascript并试图了解有关该语言的更多信息。 主要问题是变量初始化的位置。 如果我把它放在函数内部工作正常,但如果它没有工作,但另一个变量名为" marcaDeSkate"甚至认为它的功能正常。

这是我正在玩的代码:

<label name="marcasDeSkate">Marcas de Skate:</label>
<select id="marcasList" name="marcaList">
  <option value="Darkstar">Darkstar</option>
  <option value="Element">Element</option>
  <option value="Girl">Girl</option>
</select>
<input type="text" name="skatebrand" id="txtSkateBrand" />
<input type="button" value="Add Skate" id="btnAdd" />
<p id="demo"></p>
<script>
var marcaDeskate = document.getElementById("marcasList").value
var btnAdd = document.getElementById("btnAdd");
var txtSkate = document.getElementById("txtSkateBrand").value /* the variable I'm testing */
btnAdd.addEventListener("click", addSkate);
/*
function addSkate()
{

    alert(marcaDeskate + " " + txtSkate);
}
*/
function addSkate() {
  document.getElementById("demo").innerHTML += marcaDeskate + " " + txtSkate + "<br/>";
}
</script>

1 个答案:

答案 0 :(得分:0)

您需要在txtSkate函数中初始化addSkate变量。您在用户写入输入值之前初始化txtSkate变量。

试试这个:

&#13;
&#13;
var marcaDeskate = document.getElementById("marcasList").value
var btnAdd = document.getElementById("btnAdd");
var txtSkate;

btnAdd.addEventListener("click", addSkate);

function addSkate() {
  txtSkate = document.getElementById("txtSkateBrand").value;
  document.getElementById("demo").innerHTML += marcaDeskate + " " + txtSkate + "<br/>";
}
&#13;
<label name="marcasDeSkate">Marcas de Skate:</label>
<select id="marcasList" name="marcaList">
  <option value="Darkstar">Darkstar</option>
  <option value="Element">Element</option>
  <option value="Girl">Girl</option>
</select>
<input type="text" name="skatebrand" id="txtSkateBrand" />
<input type="button" value="Add Skate" id="btnAdd" />
<p id="demo"></p>
&#13;
&#13;
&#13;