使用ajax POST将多个输入字段值发送到php

时间:2013-09-29 15:29:01

标签: php jquery ajax input

我正在尝试向PHP发送一些动态创建的输入字段值以验证它们并在后台对数据库进行一些检查。我不想使用提交表单,只需在单击按钮后检查字段。

HTML:

<input name="clockpick" class="input-mini timeinputfrom" data-format="hh:mm" type="text"></input>
<input name="clockpick" class="input-mini timeinputfrom" data-format="hh:mm" type="text"></input>
<button id="check" class="btn btn-primary">check</button></div>

可以根据需要动态创建输入框。我将值输入jquery但是没有发现任何可能通过post发送给php。

Jquery的:

$('#submit').on('click', function() {

var inputfield = $('input[name="clockpick"]');

 $('input[name="clockpick1"]').each(function( index, element ) {
    console.log( "Wert" + index + ": " + $( element ).val() );          
});


$.ajax({
        type: "POST",
        url: "productiontimevalidate.php",
        data: ????

    });

如何将值/数组发送给PHP?

2 个答案:

答案 0 :(得分:0)

另一种方法是将值添加到数组中,并将其转换为json以进行发送。

var allClockPicks = [];
$('input[name="clockpick1"]').each(function( index, element ) {
  allClockPicks.push($(element).val());
});

然后,ajax可以发送数据

data: {cp: JSON.stringify(allClockPicks)}

在php方面,您可以按如下方式对它们进行json_decode:

$cpArray = json_decode($_POST['cp'], true);

答案 1 :(得分:0)

如果您的元素位于<form class="my-form"> [elements...] </form>

您可以使用以下简短版本:

<script>
$.post('/my/path/app.php', $('.my-form').serialize(), function(r) {
   console.log(r);
},'json'); // parse response as JSON
</script>

app.php

<?php
echo json_encode(array('success' => true, 'post', $_POST));
?>