Опубликовать сериализованные данные формы и дополнительные переменные, используя JQuery - PullRequest
9 голосов
/ 26 января 2010

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

var thePage = theFilename();
$.post("pagedetail.php", { $("#PageDetailForm").serialize(), thePage: thePage },
    function(data) {
        alert(data); 
});

Есть идеи?

Ответы [ 5 ]

6 голосов
/ 26 января 2010
    var serialized = $('#PageDetailForm').serialize();
    serialized.thePage = thePage;

    $.post("pagedetail.php", serialized,
    function(data) {
        alert(data); 
});
2 голосов
/ 13 августа 2013

что вы можете сделать, это добавить дополнительные данные к скрытому вводу и перехватить их в pagedetail.php стр.

например, латы говорят, что ваша форма

   <form id='PageDetailForm'>
   <input type="hidden" name="value"  id="value" value="the value u wamnt to add goes here" />
             ....other inputs
</form>

после этого просто делай как обычно $.post

$.post("#pagedetail.php",$("#PageDetailForm").serialize(),function(data){

    $("#ans").html(data);

// in the pagedetail.php

$echo $_POST['value'];

надеюсь, поможет, если ты все еще запутался, привет меня @dplumptre

1 голос
/ 06 марта 2012

Надеюсь, вам все еще нужно это :). Попробуйте метод serializeArray (), а затем добавьте некоторые дополнительные данные в результирующий массив, чтобы у вас не было разделенных массивов и т. Д. :

var postData = $('#form-id').serializeArray();
var additionalData = $('#additionalDataID').val();
postData.push({name: 'additionalName', value: additionalData});

и наконец:

$.post(URL, postData);
1 голос
/ 26 января 2010

Попробуйте это для второго параметра $.post:

 { form: $("#PageDetailForm").serialize(), thePage: thePage }
0 голосов
/ 28 сентября 2011

Попробуйте sortable('toArray'):

var thePage = theFilename();

$.post("pagedetail.php", { pageDetailForm: $("#PageDetailForm").sortable('toArray'), thePage: thePage },
    function(data) {
        alert(data); 
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...