わかりました、私はこの問題を調べましたが、現在使用していない JSON への参照しか見つかりません。数値を含む配列値が渡され、DIV が更新されます。ただし、文字列を渡そうとしても何も起こりません。コードは次のとおりです。
<php>
$cont = array();
$cont[] = 'yo';
$cont[] = '2';
foreach($cont as $c){
$statement .= '<button type=\"button\" onclick=\"nFunc('.$c.')\">'.$c.'</button>';
}
</php>
<script>
function nFunc(str)
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","test.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("p="+str);
}
</script>
<div id="myDiv">Default</div>
{$statement}
IP.Board/IP.Content を介して AJAX でテストを行っていることに注意してください。そのため、{} 内のタグと変数は IP.C エンジンによって解析されます。
このコードは、「yo」と「2」というラベルの付いた 2 つのボタンを出力します。「2」をクリックすると、DIV が正しく更新されます。「よう」をクリックしても何も起こりません。
test.php ファイルは非常に単純です。
<?php
$hello = $_POST['p'];
echo $hello;
?>
事前に助けてくれてありがとう。