如何验证表单的输入值

时间:2013-05-06 15:09:00

标签: javascript jquery validation input

我试图在使用jQuery和javascript单击按钮后验证表单的输入值。

现在,如果我输入一个输入值并单击提交输入字段,按钮就会消失。知道我错在哪里吗?

HTML文件......

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <link/>
        <script type='text/javascript' src='script.js'></script>
    </head>
    <body>
            <form>
                <input type="text" id='input_1'>
                <input type="submit" value="Send" id="send">
            </form>   
    </body>
</html>

脚本文件......

$(document).ready(function() {
    $('.send').click(function() {
        validateInput(document.getElementById('#input_1'));
        function validateInput(inputValue){
             if (inputValue === 3) {
             alert("Element cannot be equal to 3");
             }
        }
    });
});

3 个答案:

答案 0 :(得分:1)

$(document).ready(function() {
    $('#send').live('click',function() { //Because send is the id of your button
        if(validateInput(document.getElementById('#input_1'))){
            alert("Element cannot be equal to 3");
            return false;
         }
         else{
             //Do something else
         }
        function validateInput(inputValue){
             if (inputValue == 3) {
             return false;//Will prevent further actions
             }
        }
    });
});

答案 1 :(得分:0)

  1. $('.send').click(function() { 应该是$("#send").click(function() {。 注意哈希符号而不是点(。),如果选择器是类,则使用点,而如果选择器是ID则使用#。
  2. 2.您应该将验证功能移到$(document).ready(function()之外..希望有帮助

答案 2 :(得分:0)

谢谢大家的回复。不幸的是,我无法使用您的建议让它工作。我决定使用jQuery来获取元素并将消息附加到div而不是使用alert。这是一种不同的方法,但最终工作。

HTML ...

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <link/>
        <script type="text/javascript" src="script.js"></script>
    </head>
    <body>
            <form>
                <input type="text" name="input"/>

            </form>
            <button id="send">Send</button>
            <div class="error">
            </div>
    </body>
</html>

... SCRIPT

$(document).ready(function() {
    $('#send').click(function(){ 
    var toValidate = $('input[name=input]').val();
    if (toValidate == 3) {
    jQuery('.message').html('');
        $('.error').append('<div class="message">' + toValidate + " is    invalid" + '</div>');
    }
    else {
        jQuery('.message').html('');
        $('.error').append('<div class="message">' + toValidate + " is valid" + '</div>');
         }

    });
});