我有一个简单的页面:
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$(function () {
$('#myform').on('submit', function (e) {
$.ajax({
type: 'post',
url: 'test2.cfm',
data: $('form').serialize(),
success: function () {
//alert('form was submitted');
$("#alldetails").load('details.cfm?randval='+ Math.random());
document.myform.tekst.value = "";
}
});
e.preventDefault();
});
});
</script>
</head>
<body>
<form id="myform" name="myform">
<input type="text" name="text"><br>
<input name="submit" type="submit" value="Submit">
</form>
<br>
<div id="alldetails">Loading</div>
<!--- stop when typing comment check and auto refresh --->
<script>
var isTyping = false;
$("#input-box").focus(function() {
isTyping = true;
});
$("#input-box").blur(function() {
isTyping = false;
});
$(document).ready(function() {
$("#alldetails").load("details.cfm");
$(document).ready(function() {
var refreshId = setInterval(function() {
if (!isTyping) {
$("#alldetails").load('details.cfm?randval='+ Math.random());
}}, 20000);
});
$.ajaxSetup({ cache: false });
});
</script>
</body>
</html>
详细信息已加载到 div (allDetails) 中,到目前为止工作正常。现在在我的 details.cfm 页面上,我正在显示消息,人们可以对它们做出反应。到目前为止一切顺利,但我想做的是在某些人输入评论时停止自动刷新。我已经尝试过了,请参阅上面代码中的注释“键入时停止并自动重新刷新”。因为评论输入字段在comment.cfm 页面上,所以它忽略了这个脚本。
希望你明白这个问题。
问候!
编辑:
details.cfm 的代码:
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$(function () {
$('#testform').on('submit', function (e) {
$.ajax({
type: 'post',
url: 'save_comment.cfm',
data: $('form').serialize(),
success: function () {
alert('form was submitted');
}
});
e.preventDefault();
});
});
</script>
<cfquery datasource="#ns#" name="getdata">
select text, timeline_id
from timeline
order by t_datum desc
</cfquery>
<cfoutput query="getdata">
<p>#tekst#</p>
<cfform id="testform">
<cfinput type="hidden" value="#timeline_id#" name="timeline_id">
<cfinput type="text" name="comment#timeline_id#" id="input-box"><input type="submit">
</cfform>
</cfoutput>