Javascript 变量未发送到其他函数
我有很多链接,当点击时,会将一个变量传递到页面的另一部分 然而,由于某种原因,我无法理解!我错过了什么Javascript 变量未发送到其他函数,javascript,Javascript,我有很多链接,当点击时,会将一个变量传递到页面的另一部分 然而,由于某种原因,我无法理解!我错过了什么 <head> <script type="text/javascript"> function myFunction(a){ myid="Hi There!"+a; return myid; } </script> </head> <body> <a href="#" OnClick="myFunction(12345
<head>
<script type="text/javascript">
function myFunction(a){
myid="Hi There!"+a;
return myid;
}
</script>
</head>
<body>
<a href="#" OnClick="myFunction(123456);">Click Me</a><br />
<script type="text/javascript">
document.write(myid);
</script>
</body>
函数myFunction(a){
myid=“你好!”+a;
返回myid;
}
文件写入(myid);
您在这里有些混乱。即使函数返回一个值,它也没有返回的对象。试试这个:
<head>
<script type="text/javascript">
function myFunction(a){
myid="Hi There!"+a;
document.getElementById("debug").innerHTML = myid;
}
</script>
</head>
<body>
<a href="#" OnClick="myFunction(123456);">Click Me</a><br />
<div id="debug"></div>
</body>
函数myFunction(a){
myid=“你好!”+a;
document.getElementById(“调试”).innerHTML=myid;
}
如果以后要使用它,需要将myid声明为全局变量。它的作用域当前仅在myFunction中。此外,document.write()函数只在运行时执行,因此每次单击都需要另一个函数来执行该函数,或者只是将两者结合起来。当您单击链接时,只会调用myFunction(),它返回字符串。行document.write(myid)代码>不再执行,因此任何内容都不可见。以下是一些类似内容的简单示例:
<a href="#" type="button" OnClick="myf=myfunc(1234);alert(myf)" value="clickme">clickme</a> or <a href="#" type="button" OnClick="myf=myfunc(1234);document.getElementById('other').value=myf;" value="clickme">ClickMeAlso</a>
<input id='other' type='text'/>
<script>
function myfunc(a) {
return a + " howdy";
};
</script>
或
函数myfunc(a){
返回一个+“你好”;
};
您可以在这里看到这一点:
//这是全球性的
var myid=''
myfunc=函数(a){
myid=“你好!”+a;
警报(myid);
}
test_global=函数(){
警报(myid);
}
如何编写返回false在myFunction
return false中的code>是不必要的,如果在本例中不需要返回值,只需完全取出返回值即可。@Rakesh–此外,您必须在onclick
属性中使用return myFunction(…)
,否则返回false
不会阻止默认行为。@Marcel:该死!我错过了,非常感谢!我不熟悉堆栈溢出。这很好,帮助我更好地理解问题/解决方案。谢谢我相信如果变量前面没有一个VAR,那么它的作用域是全局的,这并没有什么区别,因为它是所需的返回值!你想做什么?在页面完成后调用document.write将删除页面。是的,但它确实演示了该技术,OP可以决定需要对该值执行什么操作。请注意OP示例代码中的相同内容?编辑以放入警报(u),即使OP在其中有docmment.write-我不同意这种模仿值得投反对票。
<script>
// This is global
var myid = ''
myfunc = function(a){
myid = "Hi There!" + a;
alert(myid);
}
test_global = function(){
alert(myid);
}
</script>
<a href="javascript:void(0);" onclick="myfunc(12345);">Set MYID</a>
<input type="button" onclick="test_global();" value="Test MYID" />