我试图提醒表单元素的值,但这即使在最简单的情况下也不起作用:获取表单的元素然后提醒字符串。
警报单独存在时会触发,但当我将表单的数据放入变量中时不会触发。为什么?
我确信这里的某个地方可能存在一个非常简单的错误,但我被难住了。
<!DOCTYPE html>
<html>
<head>
<!-- ISTE240 Exercise 5b -->
<meta charset=utf-8 />
<title>Get elements from a form</title>
<script>
function getFormValues() {
// function to send first and last names to an 'alert' message.
alert("test");
var form = document.getElementById(“regForm”).elements;
}
</script>
</head>
<body>
<p>JavaScript Exercise 5b </p>
<form id="regForm" onsubmit="getFormValues()">
First name: <input type="text" name="fname" value="Boo"><br>
Last name: <input type="text" name="lname" value="Radley"><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
最佳答案
默认情况下,form
标记将尝试提交表单值。您必须防止默认行为,如下演示
document.querySelector('#regForm').onsubmit = function(e){
e.preventDefault();
alert('a');
var form = document.getElementById("regForm").elements; //<-- wrong syntax, must be "
console.log(form);
}
<!DOCTYPE html>
<html>
<head>
<!-- ISTE240 Exercise 5b -->
<meta charset=utf-8 />
<title>Get elements from a form</title>
</head>
<body>
<p>JavaScript Exercise 5b</p>
<form id="regForm">
First name:
<input type="text" name="fname" value="Boo">
<br>Last name:
<input type="text" name="lname" value="Radley">
<br>
<input type="submit" value="Submit">
</form>
</body>
</html>
关于javascript - 为什么使用 document.getElementByID 获取表单会阻止alert() 触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32892290/