2013-10-03 40 views
0

我的網絡應用程序已集成到Facebook。我在tpl文件中創建了一個表單,只有一個輸入,它是選擇輸入。用戶必須選擇他的一個facebook組。該選項的value是每個組的id使用php與smarty在同一頁面上顯示錶單結果

所以這是我想怎樣做:

當用戶更改的選項(onchange),所選組的成員名單將出現波紋管的selectdiv。我不知道我應該用什麼(javascript,jquery,ajax等)以及如何在我的代碼中實現它。

這裏我的代碼片段:

{* --- form in tpl file --- *} 
    <form method="post"> 
    <fieldset> 
    <div class="row"> 
     <p style="font-weight:bold;">Choose your facebook group :</p> 
    </div> 
    <div class="row"> 
     <select name="group" onchange="idontknow"> 
      {foreach from=$userGroupsData item=group} 
       <option value="{$group.id}">{$group.name}</option> 
      {/foreach} 
     </select> 
    </div> 
    <div class="row"> 
      {* the place where members list will appear *} 
    </div> 
    </fieldset> 
    </form> 

PHP代碼來檢索所選組的成員列表(如果我用提交法):

<?php 
$groupId = $_POST['group']; 
$groupmember = $facebook->api('/'.$groupId.'/members'); 
$membergroup = $groupmember['data']; 

foreach ($membergroup as $membergroups) { 
    echo "<li>".$membergroups['name']."</li>";  
} 
?> 

任何幫助將不勝感激。謝謝

回答

0

我會做使用jQuery的Ajax請求:

$(function() { 

    $('body').on('change', 'select[name="group"]', function() { 

     var groupId = $(this).val(); 

     $.post('path/to/your/script', groupId) 
      .done(function(data) { 
       $('form .row').html(data); 
      }); 
    }); 

}); 

如果是我,我會在後端返回JSON數據,而不是HTML,我會動態生成HTML的Ajax回調。

另外,這種情況是我更喜歡在後端使用MVC體系結構的諸多原因之一。如果您正在使用一個MVC框架好比說笨例如,您發佈的數據的URL會照顧路由的是這樣的:

MVC風格的URL =「myController的/的MyMethod/myparam」。

在這個例子中,mycontroller是你要調用的類(腳本),mymethod是你想要在控制器中調用的特定函數,myparam是你傳遞給該函數的數據。

相關問題