以下是一些jquery将使用ajax.php中的内容更新两个div
<script type="text/javascript" language="javascript">
setTimeout(function() {
var postData = " ";
$.ajax({
url : 'ajax.php',
data : postData}).done(function( resp ) {
$('#div_1').text($('#inner_1' , resp).text());
$('#div_2').text($('#inner_2' , resp).text());
}
);
}, 100);
</script>
当我打开页面时加载正常,但它也不会加载一个点击按钮:
<input type="button" value="Update" onclick="function()" />
非常感谢!
这是带有事件监听器的最终解决方案,感谢您的答案!
<html>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.pack.js" language="javascript"></script>
<script type="text/javascript" language="javascript">
var ping = function()
{
var postData = " ";
$.ajax
({
url : 'ajax.php',
data : postData}).done(function( resp )
{
$('#div_1').text($('#inner_1' , resp).text());
$('#div_2').text($('#inner_2' , resp).text());
}
)
}
setTimeOut(myFunction, 100);
document
.getElementById("button")
.addEventListener("click", myFunction, false);
</script>
<div id="div_1"></div>
<div id="div_2"></div>
<input type="button" value="Update" onclick="ping()" />
</html>
答案 0 :(得分:3)
通过提示进行内联事件处理(这是您正在使用的方法)非常不鼓励,而是使用event listeners;但是,根据您的问题,您需要做的是声明一个非匿名函数,将其存储到变量中并将其用作setTimeOut
的参数并调用onclick
:< / p>
关于你的javascript:
var myFunc = function() {
var postData = " ";
$.ajax({
url : 'ajax.php',
data : postData}).done(function( resp ) {
$('#div_1').text($('#inner_1' , resp).text());
$('#div_2').text($('#inner_2' , resp).text());
}
);
setTimeout(myFunc, 100);
在您的HTML上:
<input type="button" value="Update" onclick="myFunc()" />
此外,您不能将保留字function
用作变量或函数名称。
更好的是,以下是使用事件监听器的示例:
<script type="text/javascript" language="javascript">
var myFunction() {
/* Your function here */
}
setTimeOut(myFunction, 100);
document
.getElementById("YourButton")
.addEventListener("click", myFunction, false);
</script>