通过Ajax发送多个Dynamix TextField值

时间:2019-07-23 20:44:36

标签: php ajax

我已经使用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用于我的动态文本字段,因为我有一个按钮可以添加所需的任意多天细节。

但是我的问题是如何在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();
    });
});

0 个答案:

没有答案