我有一个html文件,它从我的数据库加载一个列表,并允许前端用户删除一个特定的条目。
HTML代码如下所示:
<script type="text/javascript">// <![CDATA[
function sendForm() {
var dataSend=$("#clientid").val();
$("#responseDiv").html("<h2>Removing from Database...</h2>");
$.post("RemoveClient.php",{
ClientId: dataSend
},function(data) {
$("#responseDiv").html(data);
$("#clientlist").empty();
$("#clientlist").html("{client_list nocache}");
});
return false;
}
// ]]></script>
</p>
<div id="MainForm"><form class="form" onsubmit="return sendForm()">
<h2 class="formstyle">Client Wizard</h2>
<p>Please fill all the required fields.</p>
<div id="clientlist">{client_list nocache}</div>
<p><input style="font-size: 1.5em; font-color: #000000;" onclick="sendForm()" type="submit" value="Delete" /></p>
</form>
<div id="responseDiv"> </div>
</div>
下面给出了调用{client_list}的UDT。
$dbhost='127.0.0.1';
$dbuser='user';
$dbpass='pass';
$dbname='dbname';
$conn=mysqli_connect($dbhost,$dbuser,$dbpass,$dbname);
if(!$conn)
{
die('Could not connect:'.mysqli_connect_error());
}
$sql="SELECT clientid,clientname FROM client order by clientid";
echo "<label> Select Client: </label>";
echo "<select id=clientid name=clientid>";
$result=mysqli_query($conn,$sql);
while($row=mysqli_fetch_assoc($result))
{
echo "<option value=".$row['clientid'].">".$row['clientname']."</option>";
}
echo "</select>";
现在,一旦我点击删除,我希望下拉列表刷新,新列表没有删除的客户端。我尝试通过清空div然后重新加载UDT来做到这一点。不幸的是,这似乎没有用,我希望它的方式,因为列表不会刷新,除非我刷新页面。无论如何我能做到这一点吗?
答案 0 :(得分:0)
快速/最简单的选项是为其分配ID并通过javascript删除条目。
其次,将使用RemoveClient.php将其作为AJAX响应的一部分返回。
var response = data.split('|');
$("#responseDiv").html(response[0]);
$("#clientlist").html(response[1]);
第三,我强烈建议不要这样做,但这是你问的问题,将UDT单独放在新页面然后用?showtemplate = false参数加载页面。
$("#clientlist").load("//www.mydomain.com/myudt.html?showtemplate=false");