2013-04-04 62 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 
}