Отправить форму через AJAX с увеличением идентификатора флажка - PullRequest
2 голосов
/ 09 марта 2011

У меня правильно работает отправка формы AJAX, но у меня есть инкрементные идентификаторы для моих флажков, которые необходимо отправить в соответствии с установленными флажками, а затем, когда пользователь отправляет отмеченные варианты, данные передаются в мой PHP-скрипт.

Как передать все отмеченные флажки в мой PHP-скрипт через AJAX?

$(function () {
    $(".submit").click(function () {
        var pageReturn = $("#pageReturn").val();
        var sendCheck = $("#sendCheck").val();
        var dataString = 'pageReturn=' + pageReturn + '&sendCheck=' + sendCheck;

        if (emailLink == '' || pageReturn == '' || sendCheck == '') {
            $('.success').fadeOut(200).hide();
            $('.error').fadeOut(200).show();
        } else {
            $.ajax({
                type: "POST",
                url: "phpscripts/compose.php?artid=<?php echo $artid; ?>&userart=<?php echo $_GET['userart'];?>",
                data: dataString,
                cache: false,
                success: function () {
                    $('.success').fadeIn(200).show();
                    $('.error').fadeOut(200).hide();
                }
            });
        }
        return false;
    });
});

Чтобы пропустить все флажки, я бы добавил +1 туда, где передаются мои флажки, например:

var sendCheck = $("#sendCheck").val()+1;

Мой HTML-код для моих флажков выглядит следующим образом

<input name="sendCheck" id="sendCheck<?php echo $i++; ?>" class="reccomendCheck" type="checkbox" value="<?php echo $row_ArtContact['contact_id'];?>" /> 

Флажки с инкрементными значениями, которые необходимо передать в мой PHP-скрипт.

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

1 Ответ

2 голосов
/ 09 марта 2011

Используйте функцию serialize для генерации ваших данных.

Посмотрите на этот пример: установите несколько флажков и посмотрите, что произойдет!

http://jsfiddle.net/VeBDk/

Пример:

HTML:

<form>
    Check 1<input type="checkbox" name="check1" id="check1" value="1"/>
    Check 2<input type="checkbox" name="check2" id="check2" value="2"/>
    Check 3<input type="checkbox" name="check3" id="check3" value="3"/>
    Check 4<input type="checkbox" name="check4" id="check4" value="4"/>
    Check 5<input type="checkbox" name="check5" id="check5" value="5"/>
    <button>Submit</button>
</form>

JQuery:

$(document).ready(function(){
   var data = $('form').serialize();
   $.post('script.php', data, function(){
     //success!
   });
});
...