У меня есть jqGrid с некоторыми столбцами, я хочу добавить дополнительные поля в диалоговое окно «Добавить», которые не отображаются в сетке, а отправляются в запросе. Как я могу сделать это функциональным?
jqGrid. добавить диалог
Ответы (2)
Вы можете изменить диалоговое окно добавления внутри обработчика событий beforeShowForm. . Вы можете увидеть рабочий пример здесь. Этот пример я сделал как ответ на вопрос «jqGrid: отключить поля формы. при редактировании " (см. также закрытый вопрос " Как добавить простую текстовую метку в форму jqGrid? ")
ОБНОВЛЕНО: я перечитал ваш вопрос и увидел, что изначально ответил на другой вопрос, как вы спросили. Вам нужно просто использовать параметр editData, который может быть, например, как
$("#list").jqGrid('navGrid','#pager',{del:false,search:false,refresh:false},
{}, // edit parameters
{ // add parameters
url: '/myAddUrl',
editData: {
someStaticParameter: "Bla Bla",
myDynamicParameter: function() {
return (new Date()).toString();
}
}
}
);
см. демонстрацию. В демонстрационной версии нет ничего на стороне сервера, но вы можете легко проверить с помощью Fiddler или Firebug, данные, отправляемые на сервер, содержат параметры someStaticParameter и myDynamicParameter.
Это хорошо. Я голосую за это.
Это решение применимо к тому, что я ищу. У меня есть таблица пользователей с типичным именем пользователя, паролем и т. Д. У меня есть кнопка редактирования и добавления.
С точки зрения безопасности, не следует отправлять всех пользователей вместе с их паролями. Таким образом, в форме редактирования администратор может редактировать только все, кроме пароля.
В форме добавления администратор может создать новую учетную запись с новым паролем. Поскольку поле пароля не существует в сетке, оно не будет отображаться в форме добавления. Следуя этому примеру, я могу добавить настраиваемое поле, не раскрывая пароли своих пользователей. Большое спасибо Олег