未捕获的语法错误:输入意外结束--JavaScript/JQuery中的HTML元素删除
我正在尝试创建这个表单,在这里我可以有一个按钮来添加一个副本,还有一个按钮来删除当前的“新表单”。除了删除表单之外,所有的功能都在工作——我正在尝试使用JQuery的.remove函数,但是这个错误在我添加它时就开始出现了 我几乎100%确定所有括号/括号都是对齐的——我在几个linting站点上运行了它以确保对齐 查看代码的javascript部分有什么想法吗未捕获的语法错误:输入意外结束--JavaScript/JQuery中的HTML元素删除,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我正在尝试创建这个表单,在这里我可以有一个按钮来添加一个副本,还有一个按钮来删除当前的“新表单”。除了删除表单之外,所有的功能都在工作——我正在尝试使用JQuery的.remove函数,但是这个错误在我添加它时就开始出现了 我几乎100%确定所有括号/括号都是对齐的——我在几个linting站点上运行了它以确保对齐 查看代码的javascript部分有什么想法吗 增加一门新课程 身体{ 字体系列:“Segoe UI”,塔荷马,日内瓦,Verdana,无衬线; } 巴顿霍尔德先生{ 文本对齐:
增加一门新课程
身体{
字体系列:“Segoe UI”,塔荷马,日内瓦,Verdana,无衬线;
}
巴顿霍尔德先生{
文本对齐:居中;
}
输入课程信息:
课程名称:
类别:
持续时间:
子类别:
说明:
网址:
ID:
表ID:
//将提交的表单数初始化为1
var计数=1;
函数addCourseForm()
{
//获取课程表单元素
var course=document.getElementById(“courseForm”);
//在这里检查错误,确保我们得到courseForm
如果(课程)
{
//创建包含表单的新元素
var newDiv=document.createElement(“div”);
newDiv.className=“div”+(计数+1);
var divName=“div”+(计数+1);
newDiv.innerHTML='输入课程信息:课程标题:
类别:
持续时间:
子类别:
描述:
URL:
';
//将新的元素附加到其他表单
课程名称:儿童(新课);
//在提交的表格数量中添加一个
计数++;
loadXMLDoc_makeCatArray();
}
}
函数removeCourseForm(段落){
$(“+”段)。删除();
计数--;
}
函数loadXMLDoc_submitFormData(){
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
提交数据(本文件);
}
};
open(“GET”https://splm.sharepoint.com/sites/OCB/Shared%20Documents/Testing/curriculumdata.xml“,对);
xmlhttp.send();
}
函数submitFormData(xml)
{
var xmlDoc=xml.responseXML;
console.log(xmlDoc);
对于(var x=1;x首先,您的HTML无效,因为除了
之外,在
之后不能有任何内容。所有脚本都应该移动到关闭主体标记之前。此外,在p
中嵌套字段集是无效的。您可以将p
设置为div
接下来,count--;
需要是count--;
意外输入是计数
变量引用后的空格
需要查看手动构建的HTML字符串,因为在双引号中嵌套了双引号,并且在count
之后没有连接任何内容:
onclick=“javascript:removeCourseForm(“p'+count+”)”>
这也会导致相同的错误,因为您有一个尾随+
,但是没有任何东西可以连接到它
话虽如此……你一开始真的不应该采取这种方法。
不要创建一个庞大的串接HTML(这是您的问题所在),只需克隆第一个字段集。现在,因为我们要克隆,所以我们不想使用id
属性,而是使用.querySelector()
和.queryselectoral()
来查找基于CSS选择器的元素
您还应该停止使用.getElementsByTagName()
,因为它会影响性能,而且您对它返回的集合不感兴趣,您正在向集合传递索引。请改用.querySelector()
最后,不要使用内联事件处理程序(onclick
)
见下面的评论
这里有一个有效的例子
增加一门新课程
身体{
字体系列:“Segoe UI”,塔荷马,日内瓦,Verdana,无衬线;
}
巴顿霍尔德先生{
文本对齐:居中;
}
输入课程信息:
课程名称:
类别:
持续时间:
子类别:
说明:
网址:
身份证:
表ID:
function removeCourseForm() {
var divName = "div" + count;
$("." + divName).remove();
count--;
}