我在下面有这个代码,我遇到了麻烦。我正在尝试调用在function()中创建的函数。
HTML
<html>
<form>
<input id="schedtxt" type="number" min="0" step="1" />
<input id="schedSubmit" type="button" value="Submit!" onclick="time(schedtxt)"
</form>
</html>
<style>
和JS
var schedText = document.getElementById("schedtxt").value;
function time(schedText) {
alert("You have entered "+ schedText.value + " seconds");
UpdateUser(schedText.value);
}
(function(){
//lotsa var here
function UpdateUser(stuff) {
//some stuff
});
}
}
我已经尝试在function()中创建了time函数,但是控制台说没有声明time(),有什么我做错了吗?
答案 0 :(得分:0)
UpdateUser
函数的范围限定为function()
。您需要在该范围之外,以便time
函数可以访问它。
这样改变你的javascript:
var schedText = document.getElementById("schedtxt").value;
function time(schedText) {
alert("You have entered "+ schedText.value + " seconds");
UpdateUser(schedText.value);
}
function UpdateUser(stuff) {
//some stuff
})
(function(){
//lotsa var here
}
)
答案 1 :(得分:0)
您可以在该范围之外实例化变量,并将该函数归因于该变量。它可能是这样的:
var schedText = document.getElementById("schedtxt").value;
// Instantianting the variable outside the scope
var UpdateUser;
function time(schedText) {
alert("You have entered "+ schedText.value + " seconds");
UpdateUser(schedText.value);
}
(function() {
//lotsa var here
UpdateUser = function (stuff) {
//some stuff
};
});