function changeForms(data){
document.getElementById("firstname").value = data.firstName;
document.getElementById("lastname").value = data.lastName;
document.getElementById("email").value = data.emailAddress;
}
我想用这个按钮调用这个函数:
<button class="button" id="autofill" onclick="">Fill</button>
我的问题是,参数数据来自另一个函数,但我不想在函数getData之后调用changeForms函数,如下所示:
function getData(data) {
data= data.values[0];
changeForms(data);
}
我想在点击后启动函数changeForms,但是使用getData中的数据。 是否可以在按钮点击之前停止某个功能,或者可能将数据存储在某处?
提前致谢
马塞尔
答案 0 :(得分:1)
第一个建议不要使用内联javascript,这看起来很难看,难以维护而且不那么灵活。
我建议:
在您的按钮中添加一个ID,例如“buttonWithId”,然后编写以下javascript代码:
var myButton = document.getElementById("buttonWithId");
myButton.addEventListener("click", function() {
// your code goes here....
});
这里有一些文件:
https://www.w3schools.com/jsref/met_element_addeventlistener.asp
然后你总是可以使用`getData``
的返回值var getData = function() {
return someData;
}
然后电话看起来像这样:
var someData = getData();
changeForms(someData);
将它放在前面定义的空函数中。
注意:如果你的函数getData
是异步的,你必须使用回调函数或promise(我个人最喜欢的选择)。