如果输入字段没有值,请使用JavaScript添加新值

时间:2016-12-07 20:14:53

标签: javascript jquery html forms

使用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>

非常感谢任何帮助!

2 个答案:

答案 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作为输入。