0
$('#.login.button').click(function() {

 $('#.register.button').click(function() {

これらは両方とも機能しますが、クリックまたはEnterキーでスクリプトを実行するにはどうすればよいですか?

これが私の.js jQueryです:

$(document).ready(function() {
    $('#.login.button').click(function() {

        // Getting the variable's value from a link 
        var loginBox = $(this).attr('href');

        //Fade in the Popup and add close button
        $(loginBox).fadeIn(300);

        //Set the center alignment padding + border
        var popMargTop = ($(loginBox).height() + 24) / 2; 
        var popMargLeft = ($(loginBox).width() + 24) / 2; 

        $(loginBox).css({ 
            'margin-top' : -popMargTop,
            'margin-left' : -popMargLeft
        });

        // Add the mask to body
        $('body').append('<div id="mask"></div>');
        $('#mask').fadeIn(300);

        return false;
    });

    // When clicking on the button close or the mask layer the popup closed
    $('a.close, #mask').live('click', function() { 
      $('#mask , .login-popup').fadeOut(300 , function() {
        $('#mask').remove();  
    }); 
    return false;
    });
    $("#.sign-in.button").click(function() {
    var empty = $(this).parent().find("input").filter(function() {
        return this.value === "";
    });
    if(empty.length) {
        var notification = noty({text: "Error: Some fields were not filled out" , type:"error",  timeout: 2500, layout:"topCenter"});
        return false;
    }
 var username = $('#username').val(),
 password = $('#password').val();
$.ajax({
    url: "components/login.php",
    data:{username:username, password:password},
    type: "post",
    success: function(data) {
                    if(data == 'success') {
                        var notification = noty({text: "Welcome, "+username+"!" , type:"success",  timeout: 2500, layout:"topCenter"});
                        setTimeout(function(){
                         window.location = document.URL;
                    }, 3000);}
                    else {
                    var notification = noty({text: "Error: Incorrect Username/Password" , type:"error",  timeout: 2500, layout:"topCenter"});
                    }
    },
    error: function(html) {
    alert('error');
},
    statusCode: {
     404: function() {
       //404 here
     }
    }

});
return false;
});

$('#.register.button').click(function() {
                var registerBox = $(this).attr('href');
                $(registerBox).fadeIn(300);

        //Set the center alignment padding + border
        var popMargTop = ($(registerBox).height() + 24) / 2; 
        var popMargLeft = ($(registerBox).width() + 24) / 2; 

        $(registerBox).css({ 
            'margin-top' : -popMargTop,
            'margin-left' : -popMargLeft
        });

        // Add the mask to body
        $('body').append('<div id="mask"></div>');
        $('#mask').fadeIn(300);
            return false;
    });

$("#.log-out.button").click(function() {
$.ajax({
    url: "components/logout.php",
    success: function(data) {
                        var notification = noty({text: "Successfully logged out!" , type:"success",  timeout: 2500, layout:"topCenter"});
                        setTimeout(function(){
                         window.location = document.URL;
                    }, 3000);
    },
    error: function(html) {
    alert('error');
},
    statusCode: {
     404: function() {
       //404 here
     }
    }

});
return false;
});

});
4

2 に答える 2

0

これを使って:

$("#password").keydown(function(event){
    if(event.keyCode == 13) {
        $('#loginbtn').click();
    };
});

次に、ボタンを作成します。

<button id="loginbtn" type="button">Sign in</button>
于 2013-02-08T02:49:44.837 に答える
-1

まず第一に、$('#.login.button')うまくいきません。

$('#loginbutton')

<button id="loginbutton">Log in</button>

意思。

これが完了したら、フォームを送信する方法が複数あるため、常にイベントをフォーム送信にバインドする必要があります。

$('#theform').on('submit', function(){
    // do something useful here
});

ボタンが送信するフォームにあると仮定します。同じメールとパスワードのフィールドを使用する登録ボタンとログイン ボタンがあったとしましょう。

$('#loginbutton').on('click', function(){
    // do the unique thing here
    // then let the form submit
    return true;
});    

または何らかの理由でこのボタンがフォームにない場合

$('#loginbutton').on('click', function(){
    // do the unique thing here
    // then let the form submit
    $('#theform').trigger('submit');
});

これがあなたが求めていることだと思います。

于 2013-02-08T01:53:02.073 に答える