我有一個連接到PayPal api的腳本來檢查有效的信用卡輸入。該腳本可能需要大約5秒鐘才能執行,並且爲了防止用戶多次單擊「提交」,如果他們沒有看到立即響應,我想要發出「請稍候」指示符。jQuery「請稍等」執行php時
我有一個div,「pleaseWait」是隱藏的。在jQuery的我:
$('#submit').click(function(){
$('#pleaseWait').show();
});
唯一的問題是,如果存在問題,將PHP的錯誤發回,並「請稍候」將繼續在屏幕上。我決定嘗試另一種方法,並在腳本開始運行後在PHP中回顯jQuery,並在出現錯誤時將其隱藏起來。
/* Echo the jQuery so the "Please wait" indicator will show on screen */
echo "<script type=\"text/javascript\" src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js\"></script>";
echo "<script type='text/javascript' charset='utf-8'>";
echo "\$(document).ready(function(){";
echo "\$('#pleaseWait').show();";
echo "});";
echo "</script>";
if($error == ""){
/* There is not an error, run php. */
}else{
/* There was an error, stop the jQuery from displaying the "please wait" and display the error */
echo "<script type=\"text/javascript\" src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js\"></script>";
echo "<script type='text/javascript' charset='utf-8'>";
echo "\$(document).ready(function(){";
echo "\$('#pleaseWait').hide();";
echo "});";
echo "</script>";
}
這可以工作,但似乎很雜亂。有沒有更好的方式來做到這一點,而不是在PHP多個回聲?
如果你想同步您的加載欄與貝寶進程檢查有關它的文檔。如果你想用戶點擊提交一次使用解除綁定當用戶點擊和綁定時,Ajax完成.. – 2011-04-26 02:02:10