酷!學園

技術討論區 => 程式討論版 => PHP程式設計討論區 => 主題作者是: crazyday7 於 2011-03-05 11:47

主題: 按下搜尋,頁面會閃爍一下
作者: crazyday72011-03-05 11:47
感覺就像刷新頁面,雖然只有閃爍不到1秒,
但是感覺不好看
請問有辦法解決嗎?

代碼: [選擇]
<form id="form" name="form" method="post"  action="test.php" >關鍵字
<input type="text" name="keyword" id="keyword" maxlength="10"/>
<label>
<input type="submit" name="button2" id="button2" size="10" value="搜尋" />
</label>
</form>

<? 
$str="SELECT * FROM Register WHERE people_id LIKE '".$_POST[keyword]."' ";
$result=mysql_query($str);
list($people_id)=mysql_fetch_row($result);

if($_POST[keyword]!=$people_id)
{
echo "此人不在名單之中";
}
    else
{
echo "此人在名單中";
}
?>
主題: 回覆: 按下搜尋,頁面會閃爍一下
作者: fattomhk2011-03-05 12:13
不想這樣的話就用ajax吧~
主題: 回覆: 按下搜尋,頁面會閃爍一下
作者: Yamaka2011-03-05 12:37
感覺就像刷新頁面,雖然只有閃爍不到1秒,
但是感覺不好看
請問有辦法解決嗎?

瀏覽器的問題吧, 我在背景加了張圖來測試比較清楚

代碼: [選擇]
<body background="images/bg-pcs01.jpg">
<form id="form" name="form" method="post"  action="" >關鍵字
<input type="text" name="keyword" id="keyword" maxlength="10"/>
<label>
<input type="submit" name="button2" id="button2" size="10" value="搜尋" />
</label>
</form>
<br><br>
<?php
print_r
($_POST);
?>

</body>

firefox, chrome 在 linux 與 windows 版都不會閃
ie6 就會閃一下, ie7 閃的情形好一點, ie8 就看不出來會閃

主題: 回覆: 按下搜尋,頁面會閃爍一下
作者: crazyday72011-03-07 09:06
真的,我是IE7,用火狐測試就不會閃= =...
主題: 回覆: 按下搜尋,頁面會閃爍一下
作者: ricky2011-03-07 10:17
用Post方式送出,整個頁面當然就會重新載入一次阿。
至於會不會閃,這是看各家瀏覽器排版引擎的設計。
如果要徹底避免這個問題,請改用ajax吧。
主題: 回覆: 按下搜尋,頁面會閃爍一下
作者: fattomhk2011-03-07 10:20
那用GET的方法送出會不會重新載入?
主題: 回覆: 按下搜尋,頁面會閃爍一下
作者: hikohan2011-03-07 10:45
頁面程式 跟 頁面程式 之間,

無論 form method ,當次頁面回應前,出現的空白(閃一下),
這是很難避免的,瀏覽器預設的底頁色為白色,如果有辦法搞瀏覽器預設底色/圖片,
除了 aj  原地反應外,還有

'flash'

也可以做到,就是整拖拉庫都做在 flash 上面,保證不閃。

答案我已經說了,想一下吧。
主題: 回覆: 按下搜尋,頁面會閃爍一下
作者: ricky2011-03-07 10:46
網頁本來就是完整載入,沒有只更新一半這回事情。
直到AJAX技術的出現...
如果你要懶人法,那就包個iframe吧。
主題: 回覆: 按下搜尋,頁面會閃爍一下
作者: crazyday72011-03-07 15:43
感謝各位提供的方法,小弟會去嘗試看看^^