Сериализовать форму в «хеш-формате»

В документации jeditable для параметра submitdata (параметр для включения некоторых дополнительных параметров в запрос ajax) сказано:

(Mixed) submitdata: Extra parameters при отправке контента. Может быть либо хешем, либо функцией, возвращающей хеш.

  $ (".editable") .editable ("http://www.example.com/save.php";, 
 {
submitdata: {foo: "bar"} ; 
}); 
 
 $ (".editable") .editable ("http://www.example.com/save.php";, {{1} } {
submitdata: function (value, settings) {
return {foo: "bar"}; 
} 
}); 
 

​​Итак, мне нужно включить в submitData некоторые параметры, которые я восстанавливаю после сериализации формы:

<form id="myForm">
     <input type="hidden" name="param1" value="myValue1"/>
     <input type="hidden" name="param2" value="myValue2"/>
</form>

поэтому, когда я готовлю submitdata, я делаю:

submitdata : function(value, settings){
    return $("#myForm").serializeArray();
}

Проблема в том, что сериализация формы таким образом приводит к формат, например:

[Object { name="param1", value="myValue1"}, Object { name="param2", value="myValue2"}]

, но jeditable его не понимает, и он отправляет запрос

0[name] param1
0[value]    myValue1
1[name] param2
1[value]    myValue2

. Я пробовал использовать функцию serialize (), но он не понимает этого, потому что Jeditable требует что-то вроде:

{param1: "value1" , param2: "value2"}

Есть ли способ сериализации формы в редактируемом требуемом формате или быстрый способ изменить формат после сериализации?

Спасибо.

6
задан Javi 16 December 2010 в 09:18
поделиться