1

如果在用户的浏览器中启用了 javascript,我有一个我想使用 ajax 填充的 textarea,但如果 js 被禁用,则使用 php。问题是,ajax 和 php 都将执行,为每个输入的输入创建一个 double。我尝试了一个 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;
}
4

1 回答 1

2

一种解决方案是始终让 PHP 填写该字段。然后,当您的页面加载时,如果启用了 JavaScript,它可以清除该字段,然后将数据加载到其中。

于 2013-06-28T18:38:13.923 回答