使用JavaScript我正在尝试为我的表单整理一些验证。我想要实现的是,如果一个输入字段留空,那么在点击提交时会自动将一个值添加到该字段。
首先,我将尝试使用此问题的答案:If input value is blank, assign a value of “empty” with Javascript.
然而,这不起作用。
然后我尝试在我的外部.JS
文件中使用以下内容:
validateForm();
function validateForm() {
"use strict";
//POSITION VALIDATION
var numberOf = document.forms.themainform.numberOf.value;
if (numberOf === "") {
numberOf.value = "-5";
}
}
我还尝试使用其他问题答案的变体:
var numberOf = document.forms.themainform.getElementById('numberOf');
if(numberOf.value.length === 0) {
numberOf.value = "-5";
}
但和以前一样,没有运气。下面是我的HTML表单的代码:
<script>validateForm();</script>
<form action="" method="post" name="themainform" onsubmit="return validateForm()">
<table>
<tr><td>Number Of</td>
<td><input type="text" name="numberOf" id="numberOf" size="5" maxlength="5"/></td>
</tr>
</table>
<input type="submit" name="themainform" value="submit"/>
<hr/>
</form>
非常感谢任何帮助!
答案 0 :(得分:1)
您应该在呈现表单后调用validateForm()
,以便html文件看起来像这样
<form action="" method="post" name="themainform" onsubmit="return validateForm()">
<table>
<tr><td>Number Of</td>
<tr><td><input type="text" name="numberOf" id="numberOf" size="5" maxlength="5"/></td>
</tr>
</table>
<input type="submit" name="themainform" value="submit"/>
<table/>
</form>
<script>validateForm();</script>
并且在你的js文件中,你不能设置numberOf.value = "-5";
,因为numberOf只是一个字符串,它应该是dom elment。
function validateForm() {
"use strict";
//POSITION VALIDATION
var numberOf = document.forms.themainform.numberOf;
if (numberOf.value === "") {
numberOf.value = "-5";
}
}
答案 1 :(得分:0)
感谢大家的帮助。但我设法弄清楚:)然而,我也测试了安东尼的方法,它也有效,所以接受了他的答案。
我用过:
if(document.forms.themainform.numberOf.value === "") {
document.forms.themainform.numberOf.value = "-5";
}
这意味着如果有人将此输入字段留空,则在提交时将输入-5作为输入。