Javascript 表单提交时重新加载页面,getElementById返回null,表单不工作
代码应该使用id从表单中获取数据,并将其存储在名为studRec的数组对象中。但是,这一切都必须在客户端完成,因此页面必须保留数据,以便用于其他功能 我尝试添加returnfalse;它什么也不做Javascript 表单提交时重新加载页面,getElementById返回null,表单不工作,javascript,html,addeventlistener,getelementbyid,arrayobject,Javascript,Html,Addeventlistener,Getelementbyid,Arrayobject,代码应该使用id从表单中获取数据,并将其存储在名为studRec的数组对象中。但是,这一切都必须在客户端完成,因此页面必须保留数据,以便用于其他功能 我尝试添加returnfalse;它什么也不做 <script> var studRec = []; document.getElementById("save").addEventListener("click", save); document.getElementById("ver
<script>
var studRec = [];
document.getElementById("save").addEventListener("click", save);
document.getElementById("verify").addEventListener("click", ver);
function save(){
var x = document.getElementsByClassName("fsubj");
studRec[studRec.length] = {
section: document.getElementbyId("section").value,
name: document.getElementbyId("name").value,
gender: document.getElementbyId("gender").value,
age: document.getElementbyId("Age").value,
subjects: x
}
console.log(studRec);
}
</script>
var studRec=[];
document.getElementById(“保存”).addEventListener(“单击”,保存);
document.getElementById(“验证”).addEventListener(“单击”,版本);
函数save(){
var x=document.getElementsByClassName(“fsubj”);
studRec[studRec.length]={
节:document.getElementbyId(“节”).value,
名称:document.getElementbyId(“名称”).value,
性别:document.getElementbyId(“性别”).value,
年龄:document.getElementbyId(“年龄”).value,
主题:x
}
控制台日志(studRec);
}
它应该将输入表单的信息登录到控制台。更改
save
方法以接受单个输入参数,即传递的事件实例单击事件,然后使用preventDefault
:
function save(e) {
e.preventDefault();
...
}
看
完整答案:
var studRec = [];
document.getElementById("save").addEventListener("click", save);
document.getElementById("verify").addEventListener("click", ver);
function save(e){
e.preventDefault();
var x = document.getElementsByClassName("fsubj");
studRec[studRec.length] = {
section: document.getElementbyId("section").value,
name: document.getElementbyId("name").value,
gender: document.getElementbyId("gender").value,
age: document.getElementbyId("Age").value,
subjects: x
}
console.log(studRec);
}
你是怎么做到的?@UrielOrpilla你能确认上面的完整答案解决了你的问题吗?很抱歉有任何误解,但我的意思是如何在代码中插入e?它在控制台中表示未定义e。如果是这样的话,我该如何定义e?这很奇怪,因为它对我来说是正常的;有关基本示例,请参见。打开控制台,查看单击红色div时记录的传递的
事件
实例。