1

我已经使用 ajax 提交了表单,我对我的动态文本字段进行了查询,我需要通过 ajax 传递它们的值。我已经通过 PHP 完成了这个,但我需要使用 ajax 函数来做到这一点。

下面是我的 PHP 代码,我是如何做到的。

<form>
<h3>Day 1 Details</h3>
<input type="text" name="b_destinations[]">
<input type="number" name="b_nights[]">

<h3>Day 2 Details</h3>
<input type="text" name="b_destinations[]">
<input type="number" name="b_nights[]">

<h3>Day 3 Details</h3>
<input type="text" name="b_destinations[]">
<input type="number" name="b_nights[]">

<h3>Day 4 Details</h3>
<input type="text" name="b_destinations[]">
<input type="number" name="b_nights[]">

<!------- button for adding more textfields for day deatils--->
<button name="" onclick="somefunctiontoaddmoretextfield">

</form>

这是我的 php 代码。我将 foreach 用于我的动态文本字段,因为我有一个按钮来添加我需要的尽可能多的 Day 详细信息。

但我的问题是如何在 ajax 中传递多个文本字段值。我已经尝试了很多东西,也在堆栈上搜索,但从未找到任何答案。请帮助我解决如何使用 ajax 发布这些数据。

<?php
foreach($_POST['b_destinations'] as $p_destination) {
    $pdata[] = preg_replace("/[^A-Za-z0-9?! ]/","",$p_destination);
}
$pData[] = $pdata;
$b_destinations = json_encode($pData);

foreach($_POST['b_nights'] as $p_nights) {
    $pdata1[] = filter_var($p_nights,FILTER_SANITIZE_NUMBER_INT);
}
$pData1[] = $pdata1;
$b_nights = json_encode($pData1);
?>

这是我的 ajax 代码。这里需要做什么

$(document).ready(function() {
    $('form').submit(function(event) {

        var formData = {
            'destinations'              : $('input[name=b_destinations]').val(),
            'nights'             : $('input[name=b_nights]').val()
        };

        $.ajax({
            type        : 'POST', 
            url         : 'process.php', 
            data        : formData, 
            dataType    : 'json',
                        encode          : true
        })
            
            .done(function(data) {

                console.log(data); 

            });

        event.preventDefault();
    });
});

4

0 回答 0