2013-04-04 5 views
0

Я использовал нижеследующую функцию в jquery, чтобы обновить div, но она обновляется на каждые 10 секунд и когда я пишу что-нибудь в этом div, также получая обновление. Итак, может ли один дать мне решение для нееКак предотвратить обновление при использовании полей ввода

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

функции в JQuery, но есть проблема при написании любого думаю, в полях ввода.

+0

Каково ваше требование? Когда вы хотите обновить div? –

+0

У вас очень запутанный вопрос. Plz рефакторируйте его или разместите еще какой-нибудь код, чтобы его увидеть. Этого недостаточно, чтобы дать решения с этой частью кода. – Jai

+0

в фокусе полей при редактировании, добавьте класс в div, скажем «edit» и в setTimeout перед загрузкой, сделайте чек, если div получил класс «edit» или нет – anpsmn

ответ

0

EDIT: ах, я только что видел ваше редактирование. я не совсем понял ваш вопрос. 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 означает, с именем класса «сНом»)

вы можете установить идентификатор для DIV и использовать его как:

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

и затем:

setTimeout(function() { 
    $('#update-div').load('url')}, 1000); // refresh every 1000 milliseconds 
} 
Смежные вопросы