我正在尝试创建一个脚本,该脚本将提取提交的输入并使用它根据选择的内容发送警报,尽管每当执行此操作时,它似乎都不对应。
有什么答案吗?
Javascript:
<script language="Javascript" type="text/javascript">
function checkForm() {
alert(form.option.value);
if (form.option.value == "one") {
alert("Test 1");
} else if (form.option.value == "two") {
alert("Test 2");
} else {
alert("Test 3");
}
}
</script>
HTML:
<form onsubmit="checkForm()">
<select>
<option value="one">One</option>
<option value="two">Two</option>
<option value="three">Three</option>
</select>
<input type="submit" name="option">
</form>
最佳答案
您当前的代码无法正常工作,原因是您的方法会出现错误:
Uncaught ReferenceError: form is not defined
您需要获取正确元素的句柄。
form
不仅会存在,而且option.value
也不正确。获取相关元素,如下所示:
<script language="Javascript" type="text/javascript">
function checkForm() {
var form = document.forms[0];
var selectElement = form.querySelector('select');
var selectedValue = selectElement.value;
alert(selectedValue);
if (selectedValue == "one") {
alert("Test 1");
} else if (selectedValue == "two") {
alert("Test 2");
} else {
alert("Test 3");
}
}
</script>
DEMO
为了完整起见,并且已经在另一个答案中提到,如果您要阻止提交,请将表单标签更新为
onsubmit="return checkForm()"
并在相关位置的return false;
方法中添加checkForm()
,即:警报。