Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在HTML文本区域中打印PHP变量_Javascript_Php_Html - Fatal编程技术网

Javascript 在HTML文本区域中打印PHP变量

Javascript 在HTML文本区域中打印PHP变量,javascript,php,html,Javascript,Php,Html,我有一个PHP代码段,它在变量$ans1中生成所需的输出。我要做的是在中打印此变量$ans1。我试图编写以下代码,但它像往常一样生成输出,而不是在文本框中。以下是我的PHP代码: while($row = mysqli_fetch_array($result)) { if($submit3 == "Positive") { $ans1 = $row['reply_yes']; echo $ans1; } else if($submit3 == "N

我有一个PHP代码段,它在变量
$ans1
中生成所需的输出。我要做的是在
中打印此变量
$ans1
。我试图编写以下代码,但它像往常一样生成输出,而不是在文本框中。以下是我的PHP代码:

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;
}
while($row=mysqli\u fetch\u数组($result)){
如果($submit3==“正”){
$ans1=$row['reply_yes'];
echo$ans1;
}否则如果($submit3==“负”){
$ans1=$row['reply_no'];
echo$ans1;
}
回声“
”; 打破 }
下面是我的HTML代码:

<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>

函数enter()
{
document.getElementById('txt1')。值=;
}
请告诉我哪里出了问题

像这样添加引号也不起作用

 document.getElementById('txt1').value= "<?php echo htmlspecialchars($ans1);?>";
document.getElementById('txt1').value=“”;
如下图所示,答案(非粗体部分)也应根据我的html代码打印在文本框中

您需要在回显值周围添加
引号

document.getElementById('txt1').value = "<?php echo htmlspecialchars($ans1);?>";
document.getElementById('txt1').value=“”;
您的脚本应该位于


编辑

使用这个怎么样:

document.getElementById('txt1').value = "<?php Print($ans1); ?>";
document.getElementById('txt1').value=“”;

您需要在回显值周围添加
引号

document.getElementById('txt1').value = "<?php echo htmlspecialchars($ans1);?>";
document.getElementById('txt1').value=“”;
您的脚本应该位于


编辑

使用这个怎么样:

document.getElementById('txt1').value = "<?php Print($ans1); ?>";
document.getElementById('txt1').value=“”;

您没有用引号将php括起来。以下工作:

    <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>

函数enter()
{
document.getElementById('txt1')。value=“”;
}

您没有用引号将php括起来。以下工作:

    <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>

函数enter()
{
document.getElementById('txt1')。value=“”;
}

您可以在
标记之间的文本区域中添加要显示的文本

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

如果文本仍然没有显示或出现错误,请确保从全局范围访问变量。如下图所示

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

您可以在
标记之间的文本区域中添加要显示的文本

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

如果文本仍然没有显示或出现错误,请确保从全局范围访问变量。如下图所示

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

您的问题不是PHP问题。您无法看到函数的任何输出,因为您的脚本在提交时已停止!因此,将提交按钮更改为
type=“button”
,并添加一个ID,然后使用下面的脚本。使用jQuery(最小化您需要编写的代码)并使用超时来实际让函数有时间显示结果

 $(".button").click(function() {
      var buttonName = $(this).attr('name'),
      elm = $(this);
      $('#txt1').val( buttonName + ' was clicked.' ); // Add response
      setTimeout(function(){               
           elm.get(0).form.submit(); // Submit form           
      }, 5000); // After 5 seconds
 });

您的问题不是PHP问题。您无法看到函数的任何输出,因为您的脚本在提交时会暂停!因此,将提交按钮更改为
type=“button”
,并添加一个ID,然后使用下面的脚本。使用jQuery(最小化您需要编写的代码)并使用超时来实际让函数有时间显示结果

 $(".button").click(function() {
      var buttonName = $(this).attr('name'),
      elm = $(this);
      $('#txt1').val( buttonName + ' was clicked.' ); // Add response
      setTimeout(function(){               
           elm.get(0).form.submit(); // Submit form           
      }, 5000); // After 5 seconds
 });

浏览器控制台中有错误吗?这个变量的类型是什么?我之所以要这个类型,是因为如果它是一个字符串,就必须在值的周围加引号,类似这样:
.value=''。还要注意转义已经包含在值中的引号,除非
htmlspecialchars()
为您执行此操作。不要每次都发布相同的答案。伙计们。“不在文本框中”是因为您在JavaScript中使用变量之前回显了它吗?您还为帖子指定了一个操作,因此当您单击submit按钮时不会发生任何事情,因为pages脚本将暂停以开始加载新页面。您需要首先清除默认的提交行为,然后执行javascript,然后使用
.submit()
提交表单。请参阅@JordanThompson没有W3C学校或其W3C学校,更重要的是,请注意W3C与W3C学校没有关联。您的浏览器控制台中有错误吗?这个变量的类型是什么?我之所以要这个类型,是因为如果它是一个字符串,就必须在值的周围加引号,类似这样:
.value=''。还要注意转义已经包含在值中的引号,除非
htmlspecialchars()
为您执行此操作。不要每次都发布相同的答案。伙计们。“不在文本框中”是因为您在JavaScript中使用变量之前回显了它吗?您还为帖子指定了一个操作,因此当您单击submit按钮时不会发生任何事情,因为pages脚本将暂停以开始加载新页面。您需要首先清除默认提交行为,然后执行javascript,然后使用
.submit()
查看@JordanThompson提交表单没有W3C学校和W3C学校,更重要的是,请注意,w3c与W3School没有任何关联。Enter是在textarea之前通过按钮调用的。顺便说一下,这是我的答案)。使用json_encode比添加引号更好,因为它会自动为您转义任何引号。例如document.getElementById('txt1')。value=@NoGray No.
htmlspecialchars()
是您使用的。尤其是将引号编码为json_encode()是不行的。除非您不想这样做,否则在这种情况下,
htmlspecialchars(VAR,ENT\u NOQUOTES)
仍然会更快。这就是为什么在JSON上处理HTML时仍然使用
JSON\u encode(htmlspecialchars(VAR,ENT\u NOQUOTES))
Guy