8

在javascript中,我可以验证提交时的表单,如下所示:-

<form action="" method="post" onsubmit="return validate(this)">
    <input type="text" name="uName" id="uName" />
    <input type="password" name="passKey" id="passKey" />
    <input type="submit" name="loginBtn" value="login" />
</form>

<script type="text/javascript">
function validate(loginForm){
    if(loginForm.uName.value == ''){
        alert('Please Enter Username');
        loginForm.uName.focus();
    }else if(loginForm.passKey.value == ''){
        alert('Please Enter Password');
        loginForm.passKey.focus();
    }else {
        return true;
    }
}
</script>

我尝试使用下面的 jQuery 代码

<form action="" method="post">
    <input type="text" name="uName" id="uName" />
    <input type="password" name="passKey" id="passKey" />
    <input type="submit" name="loginBtn" value="login" />
</form>
<script type="text/javascript">
    $('form').submit(function(loginForm){
        if(loginForm.uName.val() == ''){
            alert('Please enter username');
            loginForm.uName.focus();
        }else if(loginForm.passKey.val() == ''){
            alert('Please enter username');
            loginForm.passKey.focus();
        }else {
            return true;
        }

        return false;
    });
</script>

但对我不起作用...请帮助我...!

4

4 回答 4

7

像这样?

$('#submit').click(function(){
    if( $('#uName').val() == ''){
        alert('empty');
    }
});

http://jsfiddle.net/TTmYk/

提交表单在我的小提琴中有错字,您可能需要修复它

于 2013-08-31T01:12:35.297 回答
4

请参阅表单字段 jQuery 插件: https ://github.com/webarthur/jquery-fields

您可以按如下方式使用该插件:

var form = $('form#id_form').fields();

form.name.val('Arthur');
form.age.hide();
form.description.css('height', 200);

或者这样:

var form = $('form#id_form').fieldValues();

form.name('Arthur');
form.age(29);
form.description('Web developer.');

var name = form.name();
于 2015-10-20T13:02:37.170 回答
3

提交回调函数中的参数不是元素,而是事件。所以在回调内部this代表表单元素,所以你可以这样做this.uName.value,你也可以避免使用 id 。所以

$('form').submit(function(e){
        if(this.uName.value == ''){
            alert('Please enter username');
            this.uName.focus();
        }else if(this.passKey.value == ''){
            alert('Please enter username');
            this.passKey.focus();
        }else {
            return true;
        }

        return false;
    });

小提琴

Plusval()是 jquery 方法,在普通的 javascript 中你会使用value,在这种情况下应该足够了。

于 2013-08-31T01:22:32.240 回答
1

这将帮助您:

jQuery(function($) {

    var $username = $('#uName'),
        $password = $('#passKey');

    $('form').submit(function() {

        if ($username.val() == '') {
            alert('Please enter username');
            $username.focus();
        } else if($password.val() == '') {
            alert('Please enter username');
            $password.focus();
        } else {
            return true;
        }

        return false;
    });
});

您需要牢记以下几点:

  1. 如果您将使用 DOM,您应该将代码包装在一个jQuery(function() { ... });块中。
  2. 如果你想用 jQuery 访问一个 DOM 元素,你需要使用$(...).
于 2013-08-31T01:16:55.337 回答