0

ライトボックスパネルにロードするフォームと、phpスクリプトからのjson応答があります。したがって、フォームのフィールドにjsonからデータを読み込もうとしていますが、何も起こりません。エラーでも結果でもありません。

ここにいくつかのコードがあります:

形:

<form id="FORM" name="newUserForm">
                <br>
                <label for="username" style="padding-right:35px;">Username: </label>
                <input type="text" name="username" id="username" value=""  style="margin-right:35px;">
                <label for="email" style="padding-right:35px;">Email: </label>
                <input type="text" id = "email" name="email" value="" ><br><br>
                <label for="password" style="padding-right:40px;">Password: </label>
                <input type="password" id="password" name="password"><br><br>
                <label for="repeatpassword">Repeat Password: </label>
                <input type="password" name="repeatPassword" style="margin-right:35px;">
                <label for="submitBt" id="submitEditUser" style="background-color:black;color:white;font-weight:bold;padding:4px 4px 4px 4px;">Submit</label>
            </form>

Javascript:

var user = user_id;

    jQuery.ajax({
        type: "POST",
        async : false,
        url: "/op/controller.php",
        data: { method: "editUser", user_id: user },
        contentType : ('application/x-www-form-urlencoded'),
        dataType : "json" ,
        success : function(json){
            $('#lightbox-background').fadeIn(300); 
            $('#lightbox-panel').fadeIn(300).load('forms/editUserForm.php');
            $('#username').val = json.username;
        }
    });

getElementByIdとpopulateも試しましたが、何も起こりませんでした。

この問題が存在する理由は何か考えがありますか?多分それはライトボックスのせいですか?

さらに、htmlフォームがforms/editUserForm.phpファイルに存在すると言いたいです。

ありがとう。

4

1 に答える 1

0

load()のコールバックに最後のコマンドを入れる必要があります。また、このようにval()の引数として#usernameの新しい値を渡す必要があります。

var user = user_id;

jQuery.ajax({
    type: "POST",
    async : false,
    url: "/op/controller.php",
    data: { method: "editUser", user_id: user },
    contentType : ('application/x-www-form-urlencoded'),
    dataType : "json" ,
    success : function(json){
        $('#lightbox-background').fadeIn(300); 
        $('#lightbox-panel').fadeIn(300).load('forms/editUserForm.php', function(){
           $('#username').val(json.username);
        });
    }
});
于 2013-01-26T17:16:24.110 に答える