我需要从页面加载时的HTML输入中获取一个值。我可以从HTML成功获取值。我需要将该变量传递给另一个函数的参数。
这是我的HTML代码:
<input value="3232" id="demo">
这是我的脚本的主要功能,我可以从HTML中获取值:
document.addEventListener('DOMContentLoaded', function() {
var val = document.getElementById('demo').value
console.log(val)
});
var fun3 = function(appData){
}
我需要将var val
传递给fun3
,并且参数appData
应该是val的引用。我应该能够通过var val
访问该appData
。我不知道该怎么做。
答案 0 :(得分:1)
您可以在全局范围内声明val
let val = 0;
document.addEventListener('DOMContentLoaded', function() {
val = document.getElementById('demo').value
console.log(val)
});
var fun3 = function(appData){
console.log(val) // acessible here
}
但这是神父,为什么您不能只从功能输入中获取价值?还是将数据传递到被调用的函数中?
答案 1 :(得分:1)
您可以使用bind
将该输入的值设置为函数的默认参数
document.addEventListener('DOMContentLoaded', function() {
var val = document.getElementById('demo').value
fun3 = fun3.bind(null, val);
});
var fun3 = function(appData){
console.log(arguments);
}
setTimeout(function(){
fun3('hey');
// or just () for default params
fun3();
}, 0)
<input value="3232" id="demo">
答案 2 :(得分:0)
您几乎拥有它。只需从fun3
事件处理程序回调函数中调用DOMContentLoaded
:
document.addEventListener('DOMContentLoaded', function() {
console.log('DOMContentLoaded event handler..');
var val = document.getElementById('demo').value;
fun3(val);
});
var fun3 = function(appData) {
console.log('fun3(...)');
//you see that val from your event handler function is now referred to as 'appData' locally.
console.log(appData);
}
<input value="3232" id="demo">
答案 3 :(得分:-3)
angular.
module('request.Request').
factory('Request', ['$resource',
function($resource) {
return $resource('./php/acessing.php',{
teste: "@id",
}, {
save: {
method: 'POST',
hasBody: true,
isArray: true,
cache: false
}
});
}
]);