簡體   English   中英

如何將值從Jquery傳遞給PHP? HTML是隱藏的輸入表單字段

[英]How do I pass value from Jquery to PHP ? HTML is a hidden input form field

我有一個表格:

<form action="post.php" method="POST">
 <p class="select1">Northern Cape</p>
 <p class="select1">Eastern Cape</p>

 <p class="select2" >New Goods</p>
 <p class="select2" >Used Goods</p>

<input id="submt" type="submit" name="submit" value="Submit">
</form>

JQUERY ....將輸入/值附加到所選項目:

$(document).ready(function() {
    $('.select1').click(function() {    
      if ($(this).text() == "Northern Cape"){
          $(this).append("<input id='firstloc' type='hidden' name='province' 
          value='Northern Cape' />");
          $("#firstloc").val('Northern Cape');
     }; // end of if statement

      if ($(this).text() == "Eastern Cape"){
          $(this).append("<input id='firstloc' type='hidden' name='province' 
          value='Eastern Cape' />");
          $("#firstloc").val('Eastern Cape');
     }; // end of if statement
}); // end of click function
}); // end of document ready

 $(document).ready(function() {
    $('.select2').click(function() {
        if ($(this).text() == "New Goods"){
            $(this).append("<input id='category' type='hidden' name='cat' 
            value='New Goods' />");
            $(this).val('New Goods');
         };

        if ($(this).text() == "Used Goods"){
            $(this).append("<input id='category' type='hidden' name='cat' 
            value='Used Goods' />");
            $("#category").val('Used Goods');
         };

});
});

我如何將值傳遞給PHP即。 第一價值省第二價值分類?

<?php

$province = $_POST['province'];
$category = $_POST['cat'];
echo $province;
echo $category;
?>

傳遞給PHP時,我收到消息Undefined index:cat。 用戶必須選擇2個項目,並且必須將值傳遞給PHP,我不想使用帶有“選項”的下拉菜單

這是解決方案。

您在代碼中犯了幾個錯誤。

  • 您正在使用; 在if語句之后
  • 您沒有正確關閉$document.ready標簽
  • 您必須檢查post.php是否發布數據
  • 而且,您只將input type hidden追加了,而沒有將其刪除。

post.php中

<?php
$province = '';
$category = '';
if(isset($_POST['province'])):
    $province = $_POST['province'];
endif;
if(isset($_POST['cat'])):
    $category = $_POST['cat'];
endif;
echo $province;
echo $category;
?>

 $(document).ready(function() { $('.select1').click(function() { if ($(this).text() == "Northern Cape"){ $("#firstloc").remove(); $(this).append("<input id='firstloc' type='hidden' name='province' value='Northern Cape' />"); } // end of if statement if ($(this).text() == "Eastern Cape"){ $("#firstloc").remove(); $(this).append("<input id='firstloc' type='hidden' name='province' value='Eastern Cape' />"); } // end of if statement }); $('.select2').click(function() { if ($(this).text() == "New Goods"){ $("#category").remove(); $(this).append("<input id='category' type='hidden' name='cat' value='New Goods' />"); } if ($(this).text() == "Used Goods"){ $("#category").remove(); $(this).append("<input id='category' type='hidden' name='cat' value='Used Goods' />"); } }); // end of click function }); // end of document ready 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <html> <form action="post.php" method="POST"> <p class="select1">Northern Cape</p> <p class="select1">Eastern Cape</p> <p class="select2" >New Goods</p> <p class="select2" >Used Goods</p> <input id="submt" type="submit" name="submit" value="Submit"> </form> </html> 

嘗試使用此代碼,希望對您有所幫助。

PHP不會為所有發布操作設置$ _POST,例如text / xml:

嘗試向表單中添加添加application / x-www-form-urlencoded或multipart / form-data。

<form action="post.php" method="POST" enctype="multipart/form-data">

另外,請確保您沒有損壞導致表單標簽過早關閉的HTML。 使用Web開發人員工具驗證發布的內容和內容類型。

您還應該使用isset來檢查變量的存在:

if (isset($_POST["cat"])) {
    $cat = $_POST["cat"];
    echo $cat;
    echo " is the category";
} 
else 
{
    $cat = null;
    echo "no category supplied";
}

暫無
暫無

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

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