繁体   English   中英

如何使用 ajax 和 PHP 从表单中单独获取每个值?

[英]How to get each value individually from a form using ajax and PHP?

我正在尝试单独获取每个值,以便将其发送到我的 html 文件,但我无法弄清楚如何单独获取这些值。 现在我只通过使用数组来获取值,但我不确定如何单独获取所有值。

HTML 下面

<form id="form" method="post" action="array.php">
  <div class="form-row">
     <div class="form-group col-md-3">
     <label for="date">My Birthday is</label>
     <input type="date"  name="Date" class="form-control" id="date" placeholder="MM/DD/YY">
</div>

     <div class="form-group col-md-3">
     <label for="name">My Name is</label>
     <input type="text" class="form-control" name="name" id="name" placeholder="My Name">
                          </div>

    <div class="form-group col-md-3">
     <label for="favColor">My Favorite Color is</label>
     <select name="favColor" class="form-control" id="favColor">
       <option selected>Choose</option>
       <option value="Red">Red</option>
       <option value="Blue">Blue</option>
       <option value="Green">Green</option>
       <option value="Yellow">Yellow</option>
       <option value="Orange">Orange</option>
       <option value="Pink">Pink</option>
       <option value="Black">Black</option>
    </select>
   </div>

    <div class="form-group col-md-3">
    <label for="sign">My Sign</label>
    <select name="sign" class="form-control" id="sign">
     <option selected>Choose</option>
     <option value="Aries">Aries</option>
     <option value="Taurus">Taurus</option>
     <option value="Gemini">Gemini</option>
     <option value="Cancer">Cancer</option>
     <option value="Virgo">Virgo</option>
     <option value="Libra">Libra</option>
     <option value="Scorpio">Scorpio</option>
     <option value="Sagittarius">Sagittarius</option>
     <option value="Capricorn">Capricorn</option>
     <option value="Aquarius">Aquarius</option>
     <option value="Pisces">Pisces</option>
    </select>
   </div>

Ajax代码如下

$(document).ready(function(){
                $('#form').on('submit', function (e){
                  e.preventDefault();
                  var formData = $(this).serialize();

                  $.ajax({
                    type: "POST",
                    url: 'array.php',
                    data: {formData: formData},
                    success: function(data){
                      //what to do here
                      //alert("data saved: "+ data);
                      $('#test').append(data);
                    }
                  })

                });


              });

PHP 下面

$data = ' ';

    foreach($_POST as $key => $value){
        echo $data .= " $key = $value ;";
    }

我不知道你到底想做什么。 但是,如果您想访问表单数据而不直接访问数组,则可以使用 function extract 以您的代码为例,您可以将索引作为变量访问。

<?php 
extract($_POST['formData']);

// both echos will show the same information
echo $_POST['formData']['date'];
echo $date;

// both echos will show the same information
echo $_POST['formData']['name'];
echo $name;

// both echos will show the same information
echo $_POST['formData']['favColor'];
echo $favColor;

//both echos will show the same information
echo $_POST['formData']['sign'];
echo $sign;
?>

在此示例中,两个回波将显示相同的信息作为extract function 的结果。

如果您想了解有关extract function 的更多信息,请参阅php 的文档

表单已发布到“formData”。

$formData = $_POST['formData'];

$name = $formData['name'];
$favColor = $formData['favColor'];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM