猿问

无法使用 javascript 将 textarea 的值传递给 PHP 脚本 ECHO

我试图获得textarea使用 JavaScript 将其传递给 PHP 而无需重新加载页面的价值。


请问我这里哪里有问题?


这是从 textarea 获取值并将其传输到 PHP 以供使用的 Javascript


function getValue(s){    

    $.post(

        "reply.php", 

        {      

            getTxt: s,

        },    

        function(data,status){

             $("#ReplyTextField").html(data);

        }

    );

}

这是带有回复按钮的 HTML 文本区域


<!-- reply popup -->

<div class="sitemodal fade" id="reply-popup">

    <div class="sitemodal-dialog">


      <!-- siteModal content-->

      <div class="sitemodal-content">

        <div class="sitemodal-header">

          <button type="button" class="close-popup">&times;</button>

          <h4 class="sitemodal-title">Reply</h4>

        </div>

        <div class="sitemodal-body">

          <form enctype="multipart/form-data" method="Post" action="<?php echo "reply.php?message=" . $row['id'] . "'"; ?>" name="msgform">

            <textarea id="ReplyTextField" placeholder="Give your Reply" name="textarea1"></textarea>

          </form>

        </div>

        <div class="sitemodal-footer">

          <button type="button" class="popup-btn reply" id="replyButton" name="sendmsg" onclick="getValue()">Reply</button>


        </div>

      </div>


    </div>

</div>

这是 reply.php 文件中的 php 脚本,我正在尝试将数据传输到


<?php

/*include("functions.php");

include("session.php");

require("connection.php");*/


$getTxt= $_REQUEST['getTxt'];

echo $getTxt;


?>


红糖糍粑
浏览 103回答 2
2回答

PIPIONE

你的 PHP 很好。问题在于 HTML。您没有发送在 php.ini 中引发错误的值。您必须在 onclick 函数中发送变量,然后它才能工作。这是更新的 HTML 文件:function getValue(s){&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; $.post("reply.php",&nbsp;&nbsp; &nbsp; &nbsp; {getTxt: s,}, function(data,status){&nbsp; &nbsp; &nbsp; $("#ReplyTextField").html(data);});&nbsp;&nbsp;}<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><p></p><div class="sitemodal fade" id="reply-popup">&nbsp; &nbsp; <div class="sitemodal-dialog">&nbsp; &nbsp; &nbsp; <!-- siteModal content-->&nbsp; &nbsp; &nbsp; <div class="sitemodal-content">&nbsp; &nbsp; &nbsp; &nbsp; <div class="sitemodal-header">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <button type="button" class="close-popup">&times;</button>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <h4 class="sitemodal-title">Reply</h4>&nbsp; &nbsp; &nbsp; &nbsp; </div>&nbsp; &nbsp; &nbsp; &nbsp; <div class="sitemodal-body">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <form enctype="multipart/form-data" method="Post" action="<?php echo `reply.php?message=` . $row['id'] . `'`; ?>" name="msgform">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <textarea id="ReplyTextField" placeholder="Give your Reply" name="textarea1"></textarea>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </form>&nbsp; &nbsp; &nbsp; &nbsp; </div>&nbsp; &nbsp; &nbsp; &nbsp; <div class="sitemodal-footer">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <button type="button" class="popup-btn reply" id="replyButton" name="sendmsg" onclick="getValue(document.getElementById('ReplyTextField').value)">Reply</button>&nbsp; &nbsp; &nbsp; &nbsp; </div>&nbsp; &nbsp; &nbsp; </div>&nbsp; &nbsp; </div></div>

慕的地6264312

问题是您没有将任何参数传递给getValue()函数。我会避免使用 HTML onclick 属性,而是使用 jQuery 事件处理程序:$('#replyButton').on('click', function() {&nbsp; &nbsp; var textareaValue = $('#ReplyTextField').val();&nbsp; &nbsp; getValue(textareaValue);};您还应该使用该.val()方法来设置 textarea 的值。 https://api.jquery.com/on/ https://api.jquery.com/val/
随时随地看视频慕课网APP
我要回答