用json数据填充lightbox表单的字段

时间:2013-01-24 14:11:01

标签: php jquery json lightbox

我有一个加载到灯箱面板的表单和来自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并填充但没有任何反应。

有什么想法存在这个问题吗?也许是因为灯箱?

另外我想说的是html表单存在于forms / editUserForm.php文件中。

感谢。

1 个答案:

答案 0 :(得分:0)

您需要将最后一个命令放在load()的回调中,并且#username的新值必须作为val()中的参数传递,如下所示

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);
        });
    }
});