亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 AJAX 調用接收到數據后在同一網頁上顯示接收到的數據

從 AJAX 調用接收到數據后在同一網頁上顯示接收到的數據

PHP
白板的微信 2023-05-26 10:04:27
我有 2 個 PHP 文件。這是我的第一個 PHP 文件中的 JS 腳本代碼,它位于 EOD 標記內。它有兩個動態下拉列表,當選擇第二個列表中的項目時,它會向第二個 PHP 文件提交 AJAX 調用,以便向其傳遞一些數據(變量 chosenStudent)——當我收到成功消息時,這似乎工作正常:$js_array_leadersGroupsName = array("group1", "group2");$js_array_students_lists = array(["Bob", "Jane"], ["Sally", "Tom"]);$js_array_leadersGroupsName = json_encode($js_array_leadersGroupsName);$js_array_students_lists = json_encode($js_array_students_lists);    $Content3 = <<<EOD      <form action="" id="myGroupSelectForm" method="post">          <select id="selectGroup">            <option>Choose a Group</option>          </select>            <select id="selectStudent">            <option>Choose a Student</option>          </select>        </form>        <script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>        <script type="text/javascript">        var select = document.getElementById("selectGroup");         var options = {$js_array_leadersGroupsName};         var i;        for(i = 0; i < options.length; i++) {            var opt = options[i];            var el = document.createElement("option");            el.textContent = opt;            el.value = opt;            select.appendChild(el);        }        var studentList = {$js_array_students_lists};         var select2 = document.getElementById("selectStudent");        var a = document.getElementById('selectGroup');        a.addEventListener('change', function() {            var i;            for(i = 0; i < options.length; i++) {                    if ((this.value) == options[i]) {                        var chosenStudentList = studentList[i];                    }                }            var select = document.getElementById("selectStudent");            var length = select.options.length;            for (i = length-1; i >= 0; i--) {              select.options[i] = null;            }我的問題:選擇第二個下拉項后,我無法讓我的第二個 php 文件的 echo 命令在網頁上顯示 $uid 變量。如何做到這一點/我做錯了什么?
查看完整描述

1 回答

?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

在我明白你的意思之后,因為你想將 javascript 變量解析為 php 并在同一個 php 文件中使用它。在這種情況下,我認為無法完成,因為據我所知,當 PHP 文件運行后,它無法再運行一次。所以有2種方法可以考慮嘗試:


使用 post 方法提交表單可以使用該變量,但這里的優點是,它對客戶端有點不友好。

...

// Get variable $chosenStudent if existed

if (isset($_POST['chosenStudent'])) {

    $uid = $_POST['chosenStudent'];

    // Write your processing for new student here

}

...

<script>

    b.addEventListener('change', function() {

        document.getElementById("myGroupSelectForm").submit();

    });

</script>

  1. 在 javascript 中處理所有內容。以下是您可能會考慮的代碼流程。

有 2 個不同的 php 文件:文件 A 和文件 B。

  • 您將所有復雜的過程移至文件 B

  • 在文件A中,你只需使用javascript,將ajax發送到文件B(獲取數據或其他東西,用于渲染或計算目的)

  • 完成所有事情后,只需將表單提交到下一個流程



查看完整回答
反對 回復 2023-05-26
  • 1 回答
  • 0 關注
  • 128 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號