帮助 - 自动填写表单

时间:2011-08-09 14:15:07

标签: php mysql html

我需要为该字段创建一个表单:

id

输入id的值后,需要在数据库中匹配id,并且应该以其他形式填写从数据库中获取的值。

即,数据库中标题的值应以html的标题格式(输入类型=“文本”)填写。

此标题字段也将出现在id字段的同一页面上。

即,在提交id后会有一个id字段后跟一个提交按钮,将获取id的相关值,并将填入同一页面上的其他表单结构。

你能建议我怎么做。

帮助赞赏和感谢你的时间。

1 个答案:

答案 0 :(得分:0)

使用jQuery.ajax来执行ajax请求,而不是根据需要呈现响应。这是一个例子:

<form>
<input type='hidden' id='id'>
<input type='button' id='fetchData'>
<div id='content_placeholder'></div>
</form>

<script type='text/javascript'>
$(document).ready(function(){ 
    $("#fetchData").click(function(){
        var id = $('#id').val();
        $.ajax({
            type:'post',
            dataType:'json',
            url: '*backend url here*'
            success: function(data, textStatus){
                renderData(data);
                //This will remove this button, so user will not be able 
                //press it two times
                $("#fetchData").remove(); 
            }
        });
    });
});

function renderData(data){
    var placeholder = $('#content_placeholder');
    //...perform operations on data....//
    createInput('name_input','name',data.name).appendTo(placeholder);
    createInput('description_input','description',data.name).appendTo(placeholder);
}

function createInput(id, name, value){
    var result = $("<input>").attr({id:id, name:name}).val(value);
    return result;
}
</script>

在你的后端,你必须使用json_encode来以json兼容的方式编码数据。这是一个例子:

<?php
$result = array('name'=>'John Smith', 'description'=>'Unknown buddy');
echo json_encode($result);
?>

有关详细信息,请参阅jQuery.ajaxPHP json_encode