2013-04-04 57 views
0

我已經在jquery中使用了下面的函數來刷新div,但它每10秒刷新一次,並且當我在該div中寫入任何內容時也會刷新。所以,任何一個可以給我jQuery的它如何防止使用輸入字段時刷新

setTimeout(function() { 
    $('.div').load('url'); 
}, 1000); // refresh every 1000 milliseconds 

功能的解決方案,但有一個問題,而寫任何想在輸入字段。

+0

你的需求是什麼?你什麼時候想刷新div? – 2013-04-04 07:06:14

+0

你有一個非常令人困惑的問題。 Plz重構它或張貼更多的代碼來查看。這是不足以給解決方案這段代碼。 – Jai 2013-04-04 07:08:50

+0

關於字段的重點,當一個編輯,添加一個類的div說'編輯',並在setTimeout加載前做一個檢查,如果div有一個類'編輯'或不 – anpsmn 2013-04-04 07:17:26

回答

0

編輯:啊,我剛剛看到你的編輯。我不太明白你的問題。 i 這是你的問題? http://board.phpbuilder.com/showthread.php?10305727-Keep-form-input-after-a-refresh-reload

您最好使用Jquery AJAX來刷新您的div。

在這個網站上你可以找到一個不錯的教程。 http://www.jquery4u.com/tutorials/auto-refresh-div-content-jquery-ajax/

和這裏的工作演示: http://www.jquery4u.com/demos/auto-refresh-div-content/

一個例子:

<html> 
<head> 
<title>Auto Refresh Div Content Demo | jQuery4u</title> 
<!-- For ease i'm just using a JQuery version hosted by JQuery- you can download any version and link to it locally --> 
<script src="http://code.jquery.com/jquery-latest.js"></script> 
<script> 
(function($) 
{ 
    $(document).ready(function() 
    { 
     $.ajaxSetup(
     { 
      cache: false, 
      beforeSend: function() { 
       $('#content').hide(); 
       $('#loading').show(); 
      }, 
      complete: function() { 
       $('#loading').hide(); 
       $('#content').show(); 
      }, 
      success: function() { 
       $('#loading').hide(); 
       $('#content').show(); 
      } 
     }); 
     var $container = $("#content"); 
     $container.load("rss-feed-data.php"); 
     var refreshId = setInterval(function() 
     { 
      $container.load('rss-feed-data.php'); 
     }, 9000); 
    }); 
})(jQuery); 
</script> 
</head> 
<body> 

<div id="wrapper"> 
    <div id="content"></div> 
    <img src="loading.gif" id="loading" alt="loading" style="display:none;" /> 
</div> 

</body> 
</html> 

希望它幫助。

0

iddin你的代碼,您刷新所有標籤與DIV類

你可以設置一個ID爲您的股利和使用(.div使用類名稱 '格' 的意思),它想:

<div id="update-div"></div> 

和那麼:

setTimeout(function() { 
    $('#update-div').load('url')}, 1000); // refresh every 1000 milliseconds 
}