【问题标题】:If input field has no value, add a new value using JavaScript如果输入字段没有值,则使用 JavaScript 添加一个新值
【发布时间】:2016-12-07 20:14:53
【问题描述】:

我正在尝试使用 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>

任何帮助将不胜感激!

【问题讨论】:

  • 什么显示console.log(numberOf);
  • 因为整个页面的 id 应该不同,所以我会写如下内容:numberOf = document.getElementById('numberOf') || defaultNumberOf;

标签: javascript jquery html forms


【解决方案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元素。

function validateForm() {
    "use strict";
//POSITION VALIDATION
    var numberOf = document.forms.themainform.numberOf;
    if (numberOf.value === "") {
        numberOf.value = "-5";
    }
}

【讨论】:

  • 感谢您的帮助,虽然我设法使用不同的方法解决了这个问题,但我测试了您的方法,并且效果也很好。谢谢!
【解决方案2】:

感谢大家的帮助。但我设法弄清楚了:) 但是,我也测试了 Anthony 的方法,它也有效,所以接受了他的回答。

我用过:

if(document.forms.themainform.numberOf.value === "") {
    document.forms.themainform.numberOf.value = "-5";
}

这意味着如果有人将此输入字段留空,则在提交时会将 -5 作为输入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-01
    • 2019-05-15
    • 1970-01-01
    • 2014-10-17
    相关资源
    最近更新 更多