Javascript 使用php和smarty在同一页面上显示表单结果
我的web应用程序已集成到facebook。我在tpl文件中创建了一个表单,其中只有一个输入,即select input。用户必须选择一个facebook群组。该选项的值是每个组的id 这就是我想做的: 当用户更改onchange选项时,select div下面将显示所选组的成员列表。我不知道应该使用javascript、jquery、ajax等什么,以及如何在代码中实现它 下面是我的代码片段:Javascript 使用php和smarty在同一页面上显示表单结果,javascript,php,jquery,forms,smarty,Javascript,Php,Jquery,Forms,Smarty,我的web应用程序已集成到facebook。我在tpl文件中创建了一个表单,其中只有一个输入,即select input。用户必须选择一个facebook群组。该选项的值是每个组的id 这就是我想做的: 当用户更改onchange选项时,select div下面将显示所选组的成员列表。我不知道应该使用javascript、jquery、ajax等什么,以及如何在代码中实现它 下面是我的代码片段: {* --- form in tpl file --- *} <form method
{* --- 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>
使用submit方法检索所选组成员列表的PHP代码:
<?php
$groupId = $_POST['group'];
$groupmember = $facebook->api('/'.$groupId.'/members');
$membergroup = $groupmember['data'];
foreach ($membergroup as $membergroups) {
echo "<li>".$membergroups['name']."</li>";
}
?>
任何帮助都将不胜感激。谢谢我将使用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,我会在Ajax回调中动态构建HTML
另外,这个场景也是我喜欢在后端使用MVC架构的众多原因之一。如果您使用的是MVC框架,比如说CodeIgniter,那么您将数据发布到的URL将负责如下路由:
MVC样式URL='mycontroller/mymethod/myparam'
在本例中,mycontroller是您正在调用的类脚本,mymethod是您希望在控制器中调用的特定函数,myparam是您正在传递给该函数的数据