单击按钮后激活带有参数的javascript函数

时间:2017-04-03 13:44:39

标签: javascript html function button

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中的数据。 是否可以在按钮点击之前停止某个功能,或者可能将数据存储在某处?

提前致谢

马塞尔

1 个答案:

答案 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(我个人最喜欢的选择)。