如何将PHP变量转换为JavaScript

时间:2018-01-11 16:04:37

标签: javascript php jquery html

我会尝试新的更具体的尝试。我正试图从变量中获取<span id=”$var”>BadText</span>的值。通过首先将值写入JS变量,将idFull传递给函数可以正常工作。但在跨度区域不起作用。我总是得到“document.getElementById(...)为null”。你可以在那里找到解决方案吗?我已经克服了思绪,但我没有发现任何线索。对我来说,它看起来像是变量范围或执行顺序的问题。

&#13;
&#13;
function transferFader(value,id)
{
    if (window.XMLHttpRequest)
    {
         // AJAX nutzen mit IE7+, Chrome, Firefox, Safari, Opera
         xmlhttp=new XMLHttpRequest();
     }
     else
     {
          // AJAX mit IE6, IE5
          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
     }
     xmlhttp.onreadystatechange=function()
    {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
      {
document.getElementById("result"+id).innerHTML=xmlhttp.responseText;
      }
    }
xmlhttp.open("GET","backEnd.php?v="+value+"&id="+id,true);
     xmlhttp.send();
    return;
} 
&#13;
<?
  function slider(){
    echo('
      var idFull = "123";
      var idFullResult = "result123";
      <form oninput="transferFader(auswertung.value,idFull)">
        <input type="range" name="auswertung" min="0" max= "63" value="30"    orient="vertical">
        <br>
        <span id=idFullResult>n.a.</Span>
      </form>
    ');
  }
  slider();
?>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

$idFull$idFullResult永远不会在PHP中设置。此外,您的范围的ID也被硬编码为idFullResult。我发现这段代码难以阅读,但我认为你的意思是这样做:

echo 'var idFull = "' . $id . '"';
echo '<span id="result' . $id . '">n.a.</span>';

将PHP,JS和HTML混合在一起通常是一种不好的做法,原因有很多。这是它可能导致混淆的一个例子。

答案 1 :(得分:0)

 echo('
      var idFull = "123";
      var idFullResult = "result123";
      <form oninput="transferFader(auswertung.value,idFull)">
        <input type="range" name="auswertung" min="0" max= "63" value="30"    orient="vertical">
        <br>
        <span id=idFullResult>n.a.</Span>
      </form>
    ');

您的问题在于此范围<span id=idFullResult>n.a.</Span>

HTML与结束标记不匹配,应为</span>。此外,您正在尝试使用span的id标记在PHP中使用js字符串替换。 idFullResult不会按预期展开。