预期的表达式,脚本结束
Expected expression, got end of script
所以我在网页的标题中有以下代码:
<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 部分,并且正在操作的部分驻留:
<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">')
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">