变量未发送到其他功能

时间:2010-08-24 13:09:41

标签: javascript

我有很多链接,当点击时,会将变量传递给页面的另一部分。

然而,出于某种原因,我无法弄明白!我错过了什么?

<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>

5 个答案:

答案 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/