gpt4 book ai didi

javascript - 我的 onclick 事件在页面加载时执行,而不是在单击按钮时执行,我不知道为什么

转载 作者:行者123 更新时间:2023-12-02 15:25:24 28 4
gpt4 key购买 nike

    function ajax_post() {

var xmlhttp=new XMLHttpRequest();
var working='working';
xmlhttp.open("POST","process_form.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
// success
var return_data = xmlhttp.responseText;
document.getElementById("status").innerHTML = return_data;
}
}

xmlhttp.send(working);
alert("The ajax function is running!");
document.getElementById("status").innerHTML = "Processing. Please wait...";

}

var costButton = document.getElementById('cost-value');

costButton.onclick = ajax_post();

我正在尝试学习如何从 javascript 获取变量并将其发送到单独的 php 文件进行处理(我将把它放入数据库中)。我的第一个问题似乎是,它不是在我单击成本值按钮时运行的函数,而是在页面加载时运行,第二个问题似乎是我尝试发送(工作)的变量实际上并不运行被发送。这对我来说很新。有什么解决办法吗?

最佳答案

您正在设置 onclick函数的返回值,因为您正在使用括号执行该函数。删除()来自onclick它会按预期工作。

costButton.onclick = ajax_post; 

为了使其正常工作,您需要确保:

此脚本出现在结束正文标记 </body> 之前
或者当文档准备好使用 JS 时,将其包装在回调中。

 document.addEventListener("DOMContentLoaded", function() {
// Your code here
})

关于javascript - 我的 onclick 事件在页面加载时执行,而不是在单击按钮时执行,我不知道为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33730656/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com