Использование JQuery AJAX для передачи данных флажка - PullRequest
0 голосов
/ 05 ноября 2011

Я пытаюсь передать значения выбранных флажков в файл PHP с помощью метода jQuery .getJSON.

Проблема: Кажется, что значения не получены файлом PHP.Я использую print_f, чтобы увидеть, получил ли файл PHP данные формы.Глядя на возвращаемые данные, ошибки PHP throws [Undefined index:] говорят мне, что 2 массива $bedroom и $bathroom не определены.Как мне заставить это работать?

HTML-код

<form action="form_ajax.php" method="post">
  <input type="checkbox" name="bedroom[]" value="1">
  <input type="checkbox" name="bedroom[]" value="2">
  <input type="checkbox" name="bedroom[]" value="3">

  <input type="checkbox" name="bathroom[]" value="1">
  <input type="checkbox" name="bathroom[]" value="2">
  <input type="checkbox" name="bathroom[]" value="3">

  <input type="submit" id="button" value="submit!!!">
</form>

JQuery Code

$(function() {

    $("#button").click(function(e) {
        e.preventDefault();
        var other_data = "hello";
        $.getJSON("form.php", {some-other-data: other_data, bedroom: bedroom[], bathroom: bathroom[]}, function(data) {
            console.log(data);
        });
    });

});

Код PHP

<?php

$bedroom = $_GET['bedroom'];
$bathroom = $_GET['bathroom'];

print_r($bedroom);
print_r($bathroom);

?>

1 Ответ

3 голосов
/ 06 ноября 2011

В соответствии с документацией jQuery $.getJSON() данные передаются как переменные строки запроса, поэтому я бы посоветовал вам использовать вместо этого $_GET:

$bedroom = $_GET['bedroom'];
$bathroom = $_GET['bathroom'];

Редактировать, как отправить все данные формы в php-файл:

Если вы добавите атрибут id к тегу формы, вы можете легко использовать jQuery для сериализации формы, подобной этой, и передать ее как объект данных в $.getJSON():

$.getJSON("form.php", $("#your-form-id").serialize());

Тогда все выбранные вами флажки должны быть переданы в PHP-файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...