我有很多链接,当点击时,会将变量传递给页面的另一部分。
然而,出于某种原因,我无法弄明白!我错过了什么?
<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>
答案 0 :(得分:3)
你这里有点混淆了。即使函数返回一个值,它也没有任何东西可以返回它。试试这个:
<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>
答案 1 :(得分:0)
如果您想稍后使用它,则需要将myid声明为全局变量。它的范围目前仅在myFunction内。 document.write()函数也只会在运行时执行,所以你需要在每次点击时执行另一个函数,或者只是将它们组合起来。
答案 2 :(得分:0)
单击链接时,所有发生的事情都是调用myFunction()返回字符串。行document.write(myid);
不再执行,因此无法显示任何内容。
答案 3 :(得分:0)
<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" />
答案 4 :(得分:-2)
以下是一些类似内容的简单示例:
<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>
您可以在此处查看此操作:http://jsfiddle.net/5Sbn2/