dongmei425373 2014-04-13 05:48 采纳率: 100%
浏览 38
已采纳

在HTML textarea中打印PHP变量

I have a PHP snippet which generates the required output in a variable $ans1. What I want to do is print this variable $ans1 in a <textarea>. I tried to write the following code but it generates the output as usual and not in the textbox. The following is my PHP code:

while($row = mysqli_fetch_array($result)) {
    if($submit3 == "Positive") {
        $ans1 = $row['reply_yes'];
        echo $ans1;
    } else if($submit3 == "Negative") {
        $ans1 =  $row['reply_no'];
        echo $ans1;
    }
    echo "<br/>";
    break;
}

And following is my HTML code:

<form method="post" action="fetch_page.php">
    <input type="submit" name="submit1" value="Positive" onclick="enter()"/>
    <input type="submit" name="submit2" value="Negative" onclick="enter()"/>
    <textarea name="txt1" cols="66" rows="10" id="txt1"> </textarea>
    <script>
        function enter()
        {
           document.getElementById('txt1').value= <?php echo htmlspecialchars($ans1);?>;
        }
    </script>
</form>

Please tell me where am I going wrong.

Adding quotes like this isnt working either

 document.getElementById('txt1').value= "<?php echo htmlspecialchars($ans1);?>";

As you can see in the following image, the answer(the not bold part) should get printed in the textbox also according to my html code enter image description here

  • 写回答

4条回答 默认 最新

  • douluoqiu4538 2014-04-13 16:40
    关注

    You can add the text you want to be displayed in the textarea between the <textarea> tag.

    <textarea name="txt1" cols="66" rows="10" id="txt1">
        <?php echo $ans1; ?>
    </textarea>
    

    If the text still doesn't appear or you get an error then make sure you access variables from the global scope. Like below.

    <textarea name="txt1" cols="66" rows="10" id="txt1">
        <?php echo $GLOBALS['ans1']; ?>
    </textarea>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?