0

何度か使用して成功したスクリプトに問題があります。私はそれを書き、モーダルボックスのAJAXフォームに使用しました。しかし、突然 undefined が返されます。私は無知です。手伝ってくれてありがとう。

(JQuery バージョン 1.9.1)

$(document).ready(function (){
    bind_bootstrap_modal_ajax_form('a[href*="prihlaseni"]', '#login-form');
});

function bind_bootstrap_modal_ajax_form(linkSelector, objSelector) {
    $(linkSelector).each(function(){
        var $linkObj = $(this);
        var link = $(linkSelector).attr('href');
        var objId = "modalFormContent" + Math.floor((Math.random()*10000)+1)

        $.get(link)
            .done(function(data) { 

                var $content = $(objSelector, data);

                var appendHTML = 
                '<div> ...'+
                        $content.html() + // This returns undefined
                '... </div>';
                $('body').append(appendHTML);
                var $obj = $('#'+objId);

                $linkObj.attr({
                    'data-toggle': 'modal',
                    'href': '#'+objId
                });

                // ...
            });
    });
}

data内容:

<!DOCTYPE html>
<html lang="cs" class="windows chrome chrome28 no-js">
    <head>
        <!-- ... -->
    </head>
<body class="empty">

    <div id="login-form">



    <form action="?login" method="post" class="form-horizontal m0">
        <fieldset>
            <legend>Přihlášení</legend>
            <div class="control-group">
                <label class="control-label" for="inputEmail">E-mail</label>
                <div class="controls">
                    <input type="text" name="login" id="login">
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="inputPassword">Heslo</label>
                <div class="controls">
                    <input type="password" name="pass" id="pass">
                </div>
            </div>
            <div class="control-group">
                <div class="controls">
                    <button type="submit" class="btn">Přihlásit</button>
                </div>
            </div>
        </fieldset>
    </form>





    </div>

</body>
</html>
4

1 に答える 1

1

jQuery コンストラクターの 2 番目の引数は、最初の引数で内部を検索する DOM コンテキストです。

 // Looks for something matching 'objSelector' inside the DOM object 'data'
var $content = $(objSelector, data); // Will not work if data is a string

データは文字列なので、次のことができます。

var $content = $(objSelector, $(data));

#login-formデータ内から divを取得します。

于 2013-07-01T21:02:18.693 に答える