【问题标题】:How to validate enter key in Javascript?如何验证 Javascript 中的输入键?
【发布时间】:2013-06-28 08:38:05
【问题描述】:

我的网站上正在运行以下脚本。用户必须输入 10 个字符长的“testnumber”。有一个长度检查验证。当用户点击提交按钮时,我的脚本运行顺畅。

但问题是当用户按下回车键而不是鼠标点击时,它不会警告用户。我该如何更改它,以便当用户按下回车键时,此脚本将给出与单击提交按钮相同的消息?

<script type="text/javascript">
    function isNumber(n) {
        return !isNaN(parseFloat(n)) && isFinite(n);
    }
    function formvalidation(form) {
        var isSubmitting = false;
        var value = document.getElementById('testnumber').value;
        if (value.length == 10) {
            if (isNumber(value)) {
                isSubmitting = true;
            }
        }
        if (isSubmitting) {
            form.submit();
        }
        else {
            alert('testnumber must be at least 10 character.');
            return false;

        }
    }
</script>

这是html代码的一部分:

<tr>
    <td align="center">
        <label>
            <div align="left">
                <span class="text7"><strong>enter testnumber:</strong></span>
                <input name="testnumber" type="text" id="testnumber" size="50" value="<%=(testnumber)%>" />
                <input name="search" id="search" type="button" class="normalmail" value="Search" onclick="formvalidation(frmSearch);" />
                                &nbsp;&nbsp;
            </div>
        </label>
    </td>
</tr>

【问题讨论】:

  • 您在提交按钮上有监听器吗?如果用户点击回车,它不会模拟提交按钮上的点击,而是会提交表单本身。
  • 添加一个submit 事件处理程序,也:尝试return !!(n == +(n)); 作为您的isNumber 函数
  • 也分享你的html代码
  • 您在哪个事件上调用此函数“formvalidation”?请尝试将其放在表单的 onsubmit 事件中。
  • 另外,尝试使用正则表达式进行验证:return value.match(/^\d+{10}$/)

标签: javascript validation enter


【解决方案1】:

希望这会有所帮助

<from onsubmit="return formvalidation()">
<tr>
                    <td align="center">
                        <label>
                            <div align="left">
                                <span class="text7"><strong>enter testnumber:</strong></span>
                                <input name="testnumber" type="text" id="testnumber" size="50" value="<%=(testnumber)%>" />
                                <input name="search" id="search" type="button" class="normalmail" value="Search" onclick="formvalidation(frmSearch);" />
                                &nbsp;&nbsp;
                            </div>
                        </label>
                    </td>
                <!-- </tr></tr> -->
</form>

你的脚本

<script type="text/javascript">
    function isNumber(n) {
        return !isNaN(parseFloat(n)) && isFinite(n);
    }
    function formvalidation() {
        var isSubmitting = false;
        var value = document.getElementById('testnumber').value;
        if (value.length > 10 && value.length < 10) {
            alert('testnumber must be at least 10 character.');
            return false
        }
        else if (isSubmitting) {
            return true
        }
        else {            
            return false;
        }
    }
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-17
    • 2014-04-24
    相关资源
    最近更新 更多