如何使用JQuery AJAX发送表单值

时间:2014-06-09 14:08:32

标签: jquery

我正在尝试处理使用多选插件http://davidstutz.github.io/bootstrap-multiselect/#faq

的表单

在变量中存储多个选择下拉值,但我无法弄清楚如何将其与表单数据的其余部分一起发送到php。

以下是表格:       

    <div class="form-group ">
      <label class="sr-only" for="">Zip Code</label>
      <input type="text" class="form-control" placeholder="Zip Code" name="zip"  id="zip">
    </div>

    <div class="form-group">
      <label class="col-lg-3 sr-only control-label">Products</label>
      <select class="form-control" name="product" multiple>
          <!-- <option value="selected">Select Products</option> -->
          <option value="Auto">Auto</option>
          <option value="Motorcycle/ATV">Motorcycle/ATV</option>
          <option value="Boat/PWC">Boat/PWC</option>
          <option value="Motor Home">Motor Home</option>
          <option value="Travel Trailer">Travel Trailer</option>
          <option value="Snowmobile">Snowmobile</option>
          <option value="Commercial Auto">Commercial Auto</option>
          <option value="Homeowners">Homeowners</option>
          <option value="Condo">Condo</option>
          <option value="Renters">Renters</option>
          <option value="Mobile Home">Mobile Home</option>
      </select>
    </div>

    <button id="next1" class="btn btn-orange" type="submit" >Get Quote</button>

  </form>

插件的工作方式是它将选择下拉列表中的多个项目保存为数组,并可以使用

进行访问
 var products = validator.getFieldElements('product').val(); 

我知道它正确存储了所有值,因为如果我将上面的products变量置于警告声明中,我可以看到值。

这是ajax请求以及我需要添加到ajax数据参数的变量

    var products = validator.getFieldElements('product').val();
    alert(products);

    $.ajax({
      type: "POST",
      url: "process-step1.php",
      data: $('.home1').serialize(),
      success: function(msg){

          // alert("made it to success block!");
          alert(msg);

          document.location.href = 'form.php';


      },
      error: function(){
        alert("error");
      }
    });//close ajax

有人可以告诉我如何用表格的其余部分打包并使用ajax发送到php吗?

在php方面,我使用以下内容来获取post变量,但是因为我只获得了存储在products变量中的最后一个值

 if(isset($_POST['zip']) && isset($_POST['product'])){
$zip = $_POST['zip'];
$product = $_POST['product'];
    …

1 个答案:

答案 0 :(得分:0)

您可以添加其他数据以及序列化..

数据:($('。home1')。serialize(),products:products),

我相信这也会支持数组。