在我的索引页面中,我使用combobox将用户状态更新为mysql db,然后显示用户在组合框中选择的值。这些都完美地工作(更新到mysql,显示它们被选中的值)。我想使用loading(gif)图像。例如,如果用户选择一个选项,当他们单击更新按钮时,我需要显示加载页面符号(2到3秒),然后在该位置显示他们选择的值。如何显示加载程序图像选项?
主页代码:
while($a_row = mysql_fetch_array($sql))
{
if ( $a_row['status'] != '' ) {
if ( $a_row['status'] == 'Confirm' ) {
echo "\t<td><font color=\"green\"><b>" . $a_row['status'] . "</b></font></td>\n";
}
else if ( $a_row['status'] == 'Processing' ) {
echo "\t<td><font color=\"blue\"><b>" . $a_row['status'] . "</b></font></td>\n";
}
else if ( $a_row['status'] == 'Pending' ) {
echo "\t<td><font color=\"orange\"><b>" . $a_row['status'] . "</b></font></td>\n";
}
else if( $a_row['status'] == 'Cancelled' ) {
echo "\t<td><font color=\"red\"><b>" . $a_row['status'] . "</b></font></td>\n";
}
}
else {
echo "\t<td width=166><form method=post>
<select name=update><option></option><option value=Confirm>Confirm</option><option value=Processing>Processing</option><option value=Pending>Pending</option><option value=Cancelled>Cancelled</option></select>
<input name=id type=hidden value='".$a_row['slno']."';>
<input type=submit name=submit value=Update>
</form>";
更新状态代码:
if($_SERVER['REQUEST_METHOD'] == "POST")
{
if(isset($_POST['id']))
{
$id = mysql_real_escape_string($_POST['id']);
$update= mysql_real_escape_string($_POST['update']);
$sql = mysql_query("UPDATE guest_details SET status = '$update' WHERE slno = '$id'");
if(!$sql)
{
echo ("Could not update to database" .mysql_error());
}
}
}
答案 0 :(得分:0)
我不知道为什么你会想要人工制作过程更长,但你可以在你的echo语句中替换这部分:
" . $a_row['status'] . "
用这个:
<img
src='loading.gif'
onload='setTimeout(\"$(this).after(" . $a_row['status'] . "); $(this).remove();\", 2500)'
>
此外,你所有的if-else块都可以像这样重写:
switch ($a_row['status']) {
case '': $color = 1; break;
case 'Confirm': $color = "orange"; break
case 'Cancelled': $color = "blue"; break;
...
default: $color = null;
}
if ($color == 1)
echo //output your form
elseif ($color)
echo "\t<td><font color='$color'><b><img src='loading.bmp' onload='setTimeout(\"...
答案 1 :(得分:0)
使用ajax更新内容: 调用ajaxfunction更新包含加载图标,如下面的函数:
ajax功能:
function ajaxUpdate()
{
var def = '<img src="./images/loader.gif" />';
$('#loading').html(def);
$('#loading').show();
jQuery.post('update_page.php');?>", {
id : $('#id').val(),
update : $('#update').val()
},
function(response)
{
if(response==1)
{
//success area
$('#loading').hide();
}
else
{
// failure area
}
});
}
<div id="loading"></div>
调用此函数时,加载图片会显示在ID为 loading 的div上 在ajax调用成功后,它将被隐藏。