serializeArray не включает значение кнопки submit - PullRequest
0 голосов
/ 06 января 2011

Я получил две кнопки отправки в форме.Тот, который удаляет сообщение, и один, чтобы редактировать его.

Я хочу отобразить необычную коробку либо с формой редактирования, либо с сообщением о том, что пользователь удалил сообщение.Все решается, какая кнопка была нажата, с предложением "if (isset)" в edit.php.Однако я не могу понять, как получить значение кнопки в serializeArray .. Я попытался вместо этого использовать .click (function (), но это ничего не отправило в fancybox ..

$("#form").bind("submit", function() {
                    $.ajax({
                        type        : "POST",
                        cache       : false,
                        url         : "edit.php",
                        data        : $(this).serializeArray(),
                        success: function(data) {
                            $.fancybox(data);
                        }
                    });

                    return false;
                });

Форма выглядит следующим образом:

<form method='post' action='' id="form">
    <input type='submit' value='Edit' name='edit' />
    <input type='submit' value='Delete' name='delete' onClick="return slett('<?php echo $oppgave->name; ?>')"/>
    <input name='oppgaveID' type='hidden' value='<?php echo $oppgave->id; ?>' />
</form>

Буду очень признателен, если кто-нибудь сможет мне помочь! Заранее спасибо!

1 Ответ

0 голосов
/ 06 января 2011

Из документов jQuery для serialize():

Только «успешные элементы управления» сериализуются в строку.Значение кнопки отправки не сериализуется, так как форма не была отправлена ​​с помощью кнопки.Чтобы значение элемента формы было включено в сериализованную строку, элемент должен иметь атрибут name.Данные из элементов выбора файлов не сериализуются.

Здесь определены правила "успешного контроля":

http://www.w3.org/TR/html401/interact/forms.html#h-17.13.2

Также проверьте это решение для переполнения стека от Ника Крейвера.

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