如何获取<span id =“var”

时间:2018-01-11 05:53:31

标签: javascript php jquery html

=“”

我正在使用音频混音器的Web GUI。因此我有很多重复的推子。所有看起来都一样,只是因身份而异。 ID是三位数字。第一个数字由主php页面提供,另一个在每个推子部分重复。我试图从服务器返回结果并将其发布到span字段中。问题是span id取决于完整的id。

span id应为“result111”。不是硬编码,而是由提供ID后跟标识符11动态生成。

&#13;
&#13;
GUI php
<script>
function transfer(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;
}
</script>
&#13;
backEnd.php

<?php
$id = 10;
$value = 7;
$result = 6;
if ( isset($_GET['id']) )
{
  	$id = $_GET['id'];
}
if ( isset($_GET['v']) )
{
  	$value = $_GET['v'];
  	$result = $value;
}
echo ("$id + $result");
?>

GUI.php
<?php
	$id = 1;
	include 'fader.php';
?>
&#13;
	fader.php
  
  
<script>
 var id = <?php echo "$id"; ?>;
 function setName (id2){
		var fullId =""+ id + id2;
	 return fullId;
 }
 function setNameReturn (id2){
	 var fullIdReturn =""+ id + id2;
	 return fullIdReturn;
 }
 </script>
  
  <form oninput="transfer(auswertung.value,setName(11))">
				<input type="range" name="auswertung" min="0" max= "63" value="30" orient="vertical">
				<br>
				<span id="setNameReturn (11)">n.a.</Span>
	</form>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

您以下一种方式将值传递给您的函数

lwebview.getEngine().getLoadWorker().stateProperty().addListener(new ChangeListener() {
                public void changed(ObservableValue pobservable, Object poldstate, Object pnewstate) {
                    if (pnewstate.toString().equals("SUCCEEDED")) {
                        //code to be executed
                    }
                }
            });

11 ,同时期待 111

这是你的问题吗?

更新: 为了清楚起见,您在PHP中生成的所有内容都保留在PHP中,您需要对JS赋值进行生成以将值传递给JS。您当前的传输函数的硬编码值为11,并且结果为result111。

答案 1 :(得分:0)

这可能有用,也可能没有。这只是一次尝试,因为你在评论中问过我。试一试,看看会发生什么。

GUI.php

<?php
$id = 1;

function getSpanId($addedid){
    $spanid = $id + $addedid;
    return $spanid;
}
?>

<script>
function transfer(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;
}
</script>

<?php
include 'fader.php';
?>

fader.php

<form oninput="transfer(auswertung.value,<?php getSpanId(11); ?>)">
    <input type="range" name="auswertung" min="0" max= "63" value="30" orient="vertical">
    <br>
    <span id="<?php getSpanId(11); ?>">n.a.</Span>
</form>