1

#log-in aナビゲーション バーのタグをクリックすると、ログイン画面がphp ログイン ページから同じページに読み込まれるなどのログイン システムをセットアップしました。このシステムは現在、純粋な php 投稿要求で動作しています。 jqueryなので、ユーザーエラーもチェックできます。

通常どおりjqueryを実装しようとしていますが、jqueryで何も機能していません。つまり、フォームはまだphpを介して送信されています。

すべてのページに html

    <ul id="nav"><li id="log-in"><a href="../../login/">Log In</a></li></ul>

phpログインページ

<div id="login">

<form name="login" action="../../login/index.php" method="post">
  <label>Username<input name="username" type="text" value="" /></label>
  <label>Password<input name="password" type="password" value="" /></label>
  <input type="submit" value="LogIn" id="login-join-submit"/>
</form>

</div><!--end of login->

Jクエリ

$('#log-in a').click(function() {

    $('#nav').append("<div id='background'></div><div id='wrapper'><div id='close'><p>Close[X]</p></div><div id='container'></div></div>");

    $('#container').load('../../login/index.php #login');

    $('#close p, #background').click(function() {
        $('#wrapper, #container, #close, #background').remove();
    });
    return false;
});

$('#login form[name=login]').submit(function(){
       alert('login');
       return false;
});

ご覧のとおり、フォームloginが読み込まれ#container、jquery 送信が適用されますが、jquery ではなく、php で動作しています。

それを行う可能な方法を見て、提案してください。

ありがとう。

4

1 に答える 1

1

動的に生成された要素の場合、要素の静的な親の 1 つまたはドキュメント オブジェクトからイベントを委任する必要がありますon。メソッドを使用できます。

$(document).on('submit', '#login form[name=login]', function(){
     alert('login');
     return false;
});

要素のイベント#backgroundも委任する必要があることに注意してください。

$('#nav').on('click', '#background', function() {
    $('#wrapper').remove();
});
于 2012-10-28T06:21:26.173 に答える