如何在Javascript中验证输入密钥?

时间:2013-06-28 08:38:06

标签: javascript validation enter

我在我的网站上运行了以下脚本。用户必须输入长度为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>

1 个答案:

答案 0 :(得分:3)

希望这会有所帮助

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