Javascript динамическая форма отправки - PullRequest
0 голосов
/ 06 мая 2011

Я пытаюсь написать скрипт, который будет отправлять все отдельные формы на одной странице.Я начинаю с подсчета количества форм, затем, используя это количество, перебираю каждую форму и отправляю ее.

На странице PHP каждая форма написана так:

<form name="order_driver_'.$j.'" class="order_container" id="save_'.$j.'"method="post" action="../scripts/order_driver_save.php">

I затемиспользуйте JavaScript для подсчета каждого и отправки их:

    function count_form(){

    //Count the amount of outputs
    var count = $(".order_container").size();

    //Run loop for reults
    for(count=count;count>0;count--){

        //var save='order_driver_'+count;

        document.order_driver+count.submit();

    }
}

Проблема, с которой я столкнулся, находится в части отправки:

document.order_driver_ + count.submit();

Я не могу объединить var count с .order_driver_.

Мне интересно, как это сделать, чтобы я мог указать каждое имя формы для отправки в цикле.

Ответы [ 2 ]

1 голос
/ 06 мая 2011

Примечание. Вам нужно будет выполнять вызовы отдельно друг от друга, иначе страница перейдет к цели отправки.Либо Ajax вызывает, либо ставит цель в новом окне.

Измените его, чтобы получить элемент и отправьте этот элемент:

function count_form(){

//Count the amount of outputs
var count = $(".order_container").size();

//Run loop for reults
for(count=count;count>0;count--){

    //var save='order_driver_'+count;

    document.getElementById("order_driver_" + count).submit();



}
}
1 голос
/ 06 мая 2011

Вам нужно будет отправить их через AJAX, если вы хотите, чтобы они все отправили, потому что, как только он будет отправлен, браузер выполнит запрос и обновит страницу.Таким образом, даже если вы получите его для конкатенации, он отправит только первое.

ОБНОВЛЕНИЕ

Хотя я знаю, что я могу быть взорван предложением использовать jquery, я думаюв этой ситуации это значительно упрощает то, что вам нужно сделать.

этот код достигнет вашей цели, если вы используете jQuery .

// #submit-click being whatever you want to initiate the mass form submit
$('#submit-button').click(function() {
    $('form').submit();
});

//form submit event handler
$('form').submit(function() {
    //get the form and serialize it's data
    var form = $(this);
    var data = form.serialize();

    //submit via AJAX
    $.post(form.attr('action'), data);

    //prevent the default action of submit
    return false;
});

уведомление, которое вы получитенет подтверждения, что они были представлены.

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