从javascript函数的外部获取变量值

时间:2014-04-02 08:54:56

标签: javascript php variables

无法从函数旁边的变量中获取正确的值。

这是我的代码,我总是把id称为“两个”,我需要传递给更改函数的正确值。

<script type="text/javascript">
<?php
   $val='';
   global $val;
?>


function change(val){
  <?php //global $val;?>
      if (val=='one') {
         <?php $val='one';?>
      }
      if (val=='two') {
           <?php $val='two';?>
      }
}
</script>
<input type="button" onclick="change('one');" value="Change">

<div id="<?php echo $val;?>">

2 个答案:

答案 0 :(得分:1)

您正在混合server-side-scriptclient-side-scriptjavascript中尝试,

<强> SCRIPT

<script type="text/javascript">
    var val='one'; // global value
    function change(){
        if (val=='one') {
           // your code for one
           val='two'; // change the value of val to two
        }
        else if (val=='two') {
            // your code for two
            val='one'; // again change val value
        }
        document.getElementsByClassName('changed_value')[0].id=val;
        document.getElementById(val).innerHTML=val;
    }
</script>

<强> HTML

<input type="button" onclick="change();" value="Change">
<div class="changed_value"></div>

Live Demo

答案 1 :(得分:1)

PHP代码的执行与您的javascript代码无关,后者仅在客户端执行。那么你的脚本在PHP中执行它是什么:

<?php
global $val;
$val='one';
$val='two';
?>
<!-- ... -->
<div id="<?php echo $val;?>">

这是客户端的代码:

<script type="text/javascript">
    function change(val){

      if (val=='one') {
      }
      if (val=='two') {
      }
     }
</script>
<input type="button" onclick="change('one');" value="Change">

因此,如果您想要更改元素,您必须在Javascript中执行此操作:

<script type="text/javascript">    
    function change(val){
      var el = document.getElementsByTagName('div')[0];

      if (val=='one') {
        el.id = 'one';
      }
      if (val=='two') {
        el.id = 'two';
      }
     }

</script>
<input type="button" onclick="change('one');" value="Change">

<div id="">