期待的表达,得到了脚本的结束

时间:2015-03-17 03:57:43

标签: javascript

所以我在网页的标题中有以下代码:

<script type="text/javascript">
var counter = 2;
function addNewItemField(divName) {
  var newDiv = document.createElement("div");
  newDiv.id = "item_listing_" + counter;
  newDiv.innerHTML  = "<label for=\"item_" + counter + "\">Item: </label><br />";
  newDiv.innerHTML += "<input type=\"text\" id=\"item_" + counter + "_category\" list=\"list_categories\" name=\"items[]\">";
  newDiv.innerHTML += "<input type=\"number\" id=\"item_" + counter + "_amount\" mine=\"0.00\" step=\"0.01\" value=\"0.00\" name=\"amounts[]\"><br />";
  document.getElementById(divName).appendChild(newDiv);
  counter++;
}
</script>

我尝试使用按钮调用它,但是我总是会收到语法错误,指出“预期的表达式,脚本结束了。”

我已经通过Linter运行它并且没有发现任何错误,我已经回顾了它一百次,我找不到故障的位置。我讨厌发布代码并问“为什么这不起作用?”但是我不知道发生了什么,所以我甚至不知道如何提出一个适当的问题。

更新

这是在页面下方关联的HTML文件,其中进行函数调用并且操作的peices驻留:

<div id="item_listings">
  <div id="item_listing_1">
    <label for="item_1">Item: </label><br />
      <input type="text" id="item_1_category" list="list_categories" name="items[]">
      <input type="number" id="item_1_amount" min="0.00" step="0.01" value="0.00" name="amounts[]"><br />

  </div>
</div>
<br />
<input id= "add_new_item" type="button" onClick="javascript:addNewItemField("item_listings")" value="Add Another Item">')

1 个答案:

答案 0 :(得分:14)

onClick="javascript:addNewItemField("item_listings")"充满了错误。

你不能用这种方式混合搭配双引号。您需要在双引号内使用单引号,或者您只是提前停止HTML元素的属性。

现在,这解析为

<input id= "add_new_item" type="button" onClick="javascript:addNewItemField("

......接着是一堆垃圾。

您需要使用单引号:

<input id= "add_new_item" type="button" onClick="javascript:addNewItemField('item_listings')" value="Add Another Item">