2013-06-28 32 views
1

如果在用戶的瀏覽器中啓用了javascript,但我使用ajax填充textarea,但如果禁用了js,請使用php。問題是,ajax和php都會執行,創建輸入的每個輸入的兩倍。我試了一個noscript標籤,但沒有打印出來。我將不勝感激任何幫助。如果啓用javascript,阻止php執行

這裏是我的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; 
} 
+1

讓PHP填寫該字段,並且如果JavaScript已啓用,請清除該字段,然後加載數據。 –

+0

@RocketHazmat回答問題的答案,而不是評論 – TravisO

+0

謝謝,這很好的工作 – mjr

回答

2

一種解決方案是總是有PHP填補了該領域。然後,當您的頁面加載時,如果啓用了JavaScript,它可以清除該字段,然後將數據加載到該字段中。

相關問題