Как отправить значения jqgrid как поля формы? - PullRequest
4 голосов
/ 28 июля 2010

Я пытаюсь использовать jqGrid в форме, где пользователь заполняет традиционные поля формы, такие как имя пользователя, телефон и т. Д. Форма содержит jqGrid для позиций, где пользователь может добавлять / редактировать / удалять строки, и когда это сделано , отправьте всю форму. У меня есть сетка, работающая так, как я хочу, чтобы она появлялась, я просто не могу получить содержимое сетки, представленной как часть содержащей формы.

Вот пример псевдокода:

<form id="foo">
<input id="username" type="text">Your name<br>
Enter your choices in the grid below:
<!-- imagine jqGrid here -->
<input type="submit" value="Submit the form"></form>

Я искал, гуглил, читал документы, читал вики и т. Д., Но просто не вижу, как передавать строки и столбцы jqGrid как поля формы. Любое руководство будет оценено.

1 Ответ

2 голосов
/ 28 июля 2010

Вероятно, лучший способ сделать это - использовать скрытое поле формы:

<input type="hidden" name="gridData" value="" />

Затем вы должны заполнить поле данными столбца перед отправкой формы. Вы можете сделать это, обновив поле при изменении данных сетки, или вызвав функцию JavaScript при нажатии кнопки для отправки формы (и вызова формы submit изнутри этой функции).

Чтобы записать данные сетки в скрытое поле, вы можете последовательно вызвать getRowData для каждой строки сетки и добавить данные для каждой строки в массив. Или, возможно, есть лучший способ. Например, есть новая опция data, которая может работать? В любом случае, если у вас есть данные сетки, вы можете использовать json2.js для сериализации данных в формат JSON:

JSON.stringify( myGridData );

Затем на сервере вы можете декодировать JSON из этого скрытого поля и обработать его соответствующим образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...