我必须使用innerHTML在onclick事件中将变量作为参数传递。这是我的代码
var seriesdel = document.getElementById('series_name').value;
document.getElementById('all_series').innerHTML +="<p>"+document.getElementById('series_name').value+" <button class='button' id='delete' onclick='deleteseries("+seriesdel+");' value='Delete'>Delete</button></p>";
如您所见,我尝试传递变量&#34; seriesdel&#34;在函数&#34; deleteseries&#34;但是我无法让它发挥作用。
感谢您的帮助。
答案 0 :(得分:3)
表单控件值是字符串。
如果你想在JavaScript中粘贴一个字符串值,你必须用引号括起来。
您省略了引号,因此输入的任何内容(除非是数字)都被视为变量名或语法错误。
添加引号。
尝试处理JavaScript中嵌入的HTML中嵌入的JavaScript(可能嵌入在HTML中)会让您头疼。请改用DOM。它更冗长,但更清晰。
var seriesdel = document.getElementById('series_name').value;
var paragraph = document.createElement('p');
paragraph.appendChild(document.createTextNode(seriesdel));
var button = document.createElement("button");
button.classList.add("button");
button.setAttribute("id", "delete");
button.value = "Delete";
button.appendChild(document.createTextNode("Delete"));
button.addEventListener("click", deleteHandler);
paragraph.appendChild(button);
document.getElementById('all_series').appendChild(paragraph);
function deleteHandler(event) {
deleteseries(seriesdel);
}
答案 1 :(得分:-1)
由于您尝试传递字符串对象,因此需要在onclick函数调用中转义字符串:
onclick='deleteseries(\""+seriesdel+"\");'