У меня есть jqGrid с некоторыми столбцами, я хочу добавить дополнительные поля в диалоговое окно "Добавить", которые не отображаются в сетке, а отправляются в запросе. Как я могу сделать это функциональным?
Вопрос
JqGrid. добавить диалог
- Я хотел ответить на ваш другой вопрос и перечитал этот вопрос еще раз. В первый раз я ответил не на тот вопрос. Я обновил свой ответ. Пожалуйста, если вы хотите получить ответ в будущем, ответьте на комментарий любым способом. Без ответа с вашей стороны я не вижу смысла отвечать. Oleg 31.10.2010
Ответы
Ответ 1 · рейтинг 4 · Oleg
Вы можете изменить диалоговое окно добавления внутри обработчика событий 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.
Ответ 2 · рейтинг 1 · chris
Это хорошо. Я голосую за это.
Это решение применимо к тому, что я ищу. У меня есть таблица пользователей с типичным именем пользователя, паролем и т. Д. У меня есть кнопка редактирования и добавления.
С точки зрения безопасности, не следует отправлять всех пользователей вместе с их паролями. Таким образом, в форме редактирования администратор может редактировать только все, кроме пароля.
В форме добавления администратор может создать новую учетную запись с новым паролем. Поскольку поле пароля не существует в сетке, оно не будет отображаться в форме добавления. Следуя этому примеру, я могу добавить настраиваемое поле, не раскрывая пароли своих пользователей. Большое спасибо Олег
Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.