如果在用户的浏览器中启用了javascript,我想使用ajax填充textarea,但如果禁用js则使用php。问题是,ajax和php都会执行,创建输入的每个输入的两倍。我尝试了一个noscript标签,但没有打印出来。我非常感谢任何帮助。
这是我的html:
<form action="savemessage.php" method="post" id="mainChat" name="mainChat"
onsubmit="return loadChat();">
<textarea class="historyClass" id="historyFieldjs" name="historyFieldjs" rows="40" cols="80">
<noscript>
<textarea class="historyClass" id="historyField" name="historyField" rows="40" cols="80">
<?php
echo "stuff";
?>
</textarea></noscript>
和javascript:
function loadChat()
{
var xmlhttp = new XMLHttpRequest;
xmlhttp.open("GET", "getmessages.php", true);
xmlhttp.send();
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4 && xmlhttp.status==200)
{
var results = JSON.parse(xmlhttp.responseText);
var i;
for(i=0; i<results.length; i++)
{
document.getElementById("historyFieldjs").value=
document.getElementById("historyFieldjs").value+result[i]+"\n";
}
}
}
return false;
}
答案 0 :(得分:2)
一个解决方案是始终在该字段中填写PHP。然后,当您的页面加载时,如果启用了JavaScript,它可以清除该字段,然后将数据加载到其中。