我无法弄清楚如何将此函数的结果分配到全局变量中。我知道这是一个非常基本的事情,但任何人都可以帮忙吗?
var pixel_code = null
function captureValue(){
pixel_code = document.getElementById("baseText").value;
return pixel_code;
}
pixel_code = captureValue();
答案 0 :(得分:0)
你在函数中重复使用pixel_code,这不是一个好的模式,但你展示的代码应该按预期工作。你看到什么错误?你没有展示这段代码的代码是什么?这一切可能都嵌套在另一个函数中吗? (感谢@JosephSilver的点头。)
答案 1 :(得分:0)
如果页面重新加载,您的变量将重置为其初始状态。
答案 2 :(得分:0)
请试试这个,
var pixel_code='';
function captureValue(){
return document.getElementById("baseText").value;
}
function getValueBack()
{
pixel_code = captureValue();
//alert(pixel_code); /* <----- uncomment to test -----<< */
}
答案 3 :(得分:0)
感谢您分享您尝试的jsfiddle。我看到了这个问题。 captureValue()函数是异步运行的,因此定义它后不久console.log()
还没有值。我已经剥离并刺激了这个工作样本:
<html>
<head>
</head>
<body>
<h1>Welcome to the AdRoll SandBox</h1>
<textarea id="baseText" style="width:400px;height:200px"></textarea><br />
<input type="button" value="test" id="text_box_button" onclick="captureValue()"/>
<input type="button" value="get" id="text_box_button2" onclick="getValue()"/>
<script>
var pixel_code = null;
function captureValue(){
pixel_code = document.getElementById("baseText").value;
return false;
}
function getValue() {
alert(pixel_code);
return false;
}
</script>
</body>
</html>
我添加了第二个按钮。输入文本框,按“&#34; test&#34; (设置值),然后按&#34;得到&#34;获取全局变量的值。
这是使用jQuery和闭包避免全局变量的相同示例:
<html>
<head>
</head>
<body>
<h1>Welcome to the AdRoll SandBox</h1>
<textarea id="baseText" style="width:400px;height:200px"></textarea><br />
<input type="button" value="test" id="text_box_button" />
<input type="button" value="get" id="text_box_button2" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$(document).ready(function () {
var pixel_code = null;
$("#text_box_button").click(function (){
pixel_code = document.getElementById("baseText").value;
return false;
});
$("#text_box_button2").click(function () {
alert(pixel_code);
return false;
});
});
</script>
</body>
</html>