簡體   English   中英

在選擇字段更改時更新PHP變量

[英]Update PHP variable onchange of select field

我正在研究我發現的其他人的代碼片段。 選擇字段更改后,我想更新一個PHP變量。

變量的名稱為$ ProductType,如下所示。 當前代碼執行了預期的操作,所以現在我要做的就是將變量設置為等於更改后的選項

<?php
  $ProductType = '';

  if(isset($_GET['trade'])){
    //Everything in here will get echoed in the DIV
    echo "You selected: ".$_GET['trade'];
    $ProductType = $_GET['trade']; // I'd have thought this might work but when I echo $ProductType, it returns nothing.
    exit;
  }

?>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>

<form name="x" action="" method="POST">
  <select name="trade" onchange="$('#extra').load('?trade='+this.value);">
    <option value="1">item1</option>
    <option value="2">item2</option>
    <option value="3">item3</option>
    <option value="4">item4</option>
  </select>
  <input type="submit" value="SEARCH" class="submit-button btn" />
</form>

<div id="extra" style="color:red;"></div>

編輯:

這次我添加了一個搜索按鈕。 我再次回聲了它,似乎它正在工作,但是,它返回的數組不是我想要的。 因此,頁面加載后,用戶將從下拉列表中進行選擇,變量$ ProductType應該更改。 如果隨后提交表單,頁面將再次加載,並且變量將更新查詢。

PHP在服務器上運行,jquery(javascript)在客戶端計算機的瀏覽器中運行,這基本上意味着,如果您從chrome或IE中檢查您的PHP為您創建的html,則您看到的只是HTML,而您的php代碼將是丟失,它丟失了,因為服務器已經運行了它(在“服務器端”),並使用它的輸出來更改/附加包含在php中的html。

您的html表單使用'post'方法,因此,當http協議將(發送回)服務器時(發送回),您需要使用$_POST["trade"]來訪問瀏覽器在postback上發送的值, php post var文檔這里

通常,人們會在自己的html表單中添加一個隱藏變量,php可以將其用作檢查,如果該表單已被發布回服務器,或者沒有收到回發(首次運行),則隱藏變量將不會出現在$_POST變量收集

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM