2015-12-16 2 views
-2

У меня есть форма входа в систему, в которой установлены имя пользователя и пароль. При нажатии кнопки входа в систему вызывается функция javascript, где я делаю запрос ajax для входа в контроллер. Форма сериализации с помощью следующей коднажмите новые значения переменных для формирования сериализации

var parameters = this.login_form.serialize(true); 

Я хочу, чтобы нажать одну новую переменную форму и попытался

var parameters = this.login_form.serializeArray(true); 
parameters.push({ name: "mysql", value: "update" }); 
// remaining code to make ajax request 

который бросает ошибку, показанную ниже.

TypeError: this.login_form.serializeArray is not a function

Как я могу нажать новые значения переменных?

+1

Ваш код является неполным. Откуда возникает login_form? Что это? И, пожалуйста, постарайтесь понять, что вы имеете в виду. –

+0

вы можете добавить скрытое поле в html «mysql» и установить его значение «update», а затем сериализовать форму. – LP13

+1

Не можете ли вы 'eval ('(' + parameters + ')')' добавить дополнительные параметры объекта формы, а затем повторно сериализуйте его? –

ответ

1

serializeArray() - метод jQuery, но this.login_form является элементом DOM. Вам нужно позвонить jQuery преобразовать его:

var parameters = $(this.login_form).serializeArray(); 
0
**go with this ** 
var parameters = $("form").serializeArray(); 
parameters.push({ name: "mysql", value: "update" }); 
+1

Ответы на SO должны быть более полными, чем это. По крайней мере, вы должны указать на конкретную проблему, что было сделано для ее решения и почему. – IInspectable

Смежные вопросы