我正在使用音频混音器的Web GUI。因此我有很多重复的推子。所有看起来都一样,只是因身份而异。 ID是三位数字。第一个数字由主php页面提供,另一个在每个推子部分重复。我试图从服务器返回结果并将其发布到span字段中。问题是span id取决于完整的id。
span id应为“result111”。不是硬编码,而是由提供ID后跟标识符11动态生成。
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;
答案 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>