我有以下代码来检查表单数据,但我不明白为什么它不起作用。
<script type="text/javascript">
function checkStuff() {
// By default, we plan to submit the form.
var formOkay = 1;
// Check to see if field_1 has a value. If not, we note that by changing our variable.
if(document.getElementById('requestorfirstname').value == '')
formOkay = 0;
// Let the user know something is wrong somehow. An alert is easiest.
alert('Requestor Name Required!');
// If you return true the form will submit. If you return false it will not.
if(formOkay == 1) {
return true;
} else {
return false;
}
}
</script>
现在是html表单的一部分,它在提交时进行检查。
<input type="text" name="requestorfirstname" />
谢谢你的帮助!
document.getElementById
按ID查找元素。您的字段没有ID,而是有NAME。
document.getElementById
通过id
而不是通过name
选择元素。
一些解决问题的方法:
- 将
id="requestorfirstname"
添加到输入元素 - 使用
document.getElementsByName('requestorfirstname')[0]
。getElementsByName
返回一个列表,因此返回[0]
- 使用
document.querySelector('[name="requestorfirstname"]')
方法 -
获取对该表单的引用,并使用
.elements
集合访问该元素
例如,如果您的页面只有一个表单:document.forms[0].elements['requestorfirstname']
name
属性与id
属性不同。您的输入字段上没有id,因此getElementById
无法找到它。将元素更改为:
<input type="text" name="requestorfirstname" id="requestorfirstname" />
^^^^^^^^^^^^^^^^^^^^^^^^ - add this