2011-08-09 45 views
-2

我需要創建用於該領域的形式:幫助 - 填充形式自動

id 

輸入值的ID後,將ID需要數據庫進行匹配,並從數據庫獲得的值應填寫其他表格。

即,來自數據庫的標題的值應該填充在html的標題形式(輸入類型=「文本」)中。

此標題字段也將出現在id字段的同一頁面上。

即,在提交id後將會有一個id字段,後面跟着一個提交按鈕,id的關聯值將被提取並且將填充到同一頁面上的其他表單結構中。

你能建議我該怎麼做。

謝謝你的幫助。

+2

最新問題?你爲什麼不能成功呢,你解釋得很好。 – TJHeuvel

+0

聽起來像你需要爲用戶分配一個cookie(除非ID或任何其他信息是敏感的)或會話。我相信這是您通過PHP將頁面之間的數據進行移動的唯一方式。如果表單已經在同一頁面上,那麼AJAX應該更容易處理。 –

+0

AJAX是答案,除非當然你想做一個表單提交刷新頁面,並用混合的HTML/PHP代碼填充這些輸入,但這不是要走的路。 – Sleeperson

回答

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瞭解詳情。