我试图从表单中获取数据并将其附加到全局数组中,但由于某种原因,数据没有添加到数组中。代码基本上应该接受来自表单的输入并将其存储到全局数组中。我更新了 HTML,以便您可以看到完整的语法。该值基本上应该从表单中获取并使用“addnew”函数放入全局数组中。 function addnew() { //calculateAge(); //Accept values entered in form const fname = document.getElementById('fname').value; const mname = document.getElementById('mname').value; const lname= document.getElementById('lname').value; const dob= document.getElementById('dob').value; const genderM = document.getElementsByName('male').checked; const genderF = document.getElementsByName('female').checked; const age = calculateAge.bYear; const bodyType = document.getElementById('Body Type').value; const occu= document.getElementById('occu').value; const height= document.getElementById('height').value; if (fname==null || fname=="") { alert(); } if(mname==null || mname=="") { alert(); } if (lname==null || lname=="") { alert(); } if(dob==null || dob=="") { alert(); } if (genderM.checked == false || genderF.checked == false){ alert(); } if (age <=18 || age >=75) { alert(); } if(height>=170 || height<=200) { alert(); } if(bodyType==null || bodyType==""){ alert(); } if(oocu==null || oocu=="") { alert(); } </script>
1 回答
慕斯709654
TA贡献1840条经验 获得超5个赞
首先。name属性与元素无关form。
第二。Information.addEventListener('submit', addnew);没有意义,因为Information没有定义。
并深入到核心。提交表单时,页面默认刷新,因此 addNew 函数像所有其他变量一样中止。为了防止这种情况,您必须执行以下操作。
提交按钮广告上有一个 id 属性:
<button id="submit" type="submit"> Submit </button>
然后在 JS 之上,获取按钮元素并向其添加事件侦听器:
let submit = document.getElementById('submit');
submit.addEventListener('click', addnew );
这是最后一步。在 addNew 函数上,添加一个事件参数。并在函数代码的开头,触发 PreventDefault 方法:
function addnew(event) {
event.preventDefault();
// the rest of the code here
}
顺便一提。你这里有一个错字。应该是的occu。
if (oocu == null || oocu == "") {
alert();
}
祝你好运!
添加回答
举报
0/150
提交
取消