Редактировать строки - прототип - PullRequest
0 голосов
/ 02 марта 2012

Мне нужна помощь как на визуальном, так и на программном уровне. Итак, я разрешаю пользователю редактировать определенные строки, относящиеся к его уникальному идентификатору. Когда пользователь нажимает кнопку «Изменить», он показывает все строки в пользовательской таблице, которые содержат его конкретный идентификатор (макет таблицы см. Ниже). Кроме того, флажок генерируется для каждого класса, в котором появляется пользователь (снова на основе поля user_id).

tbl_user
user_id  |  user_name
1        |  Evan

tbl_class
user_id  |  class_id
1              1
1              2 

Вот так выглядит форма редактирования:


| TEXT-BOX  |  For user_name

| CHECKBOX value="1"  |  For EACH class found
| CHECKBOX value="2"  |  For EACH class found

Когда форма будет отправлена, я собирался проверить, не были ли значения любого из полей сняты; если бы они были, я бы удалил соответствующую строку tbl_class (где бы ни подходил class_id).

При использовании этого метода я столкнулся с двумя проблемами:

  1. Если флажок снят, его значение не отображается в форме (так кажется)
  2. Это не столько проблема, сколько раздражение - есть ли лучший способ сделать это? Я действительно ненавижу дизайн.

Буду признателен за помощь по любому из указанных выше вопросов.

Спасибо!

Evan

Ответы [ 2 ]

1 голос
/ 08 марта 2012

http://postimage.org/image/e1sny3dcx/

Я загрузил изображение по ссылке выше, что, я думаю, более удобный дизайн.На странице редактирования информации о пользователе пользователь может редактировать свое имя пользователя через текстовое поле.Кроме того, «Доступные идентификаторы классов» отображаются в списке с опцией множественного выбора, а «Выбранные идентификаторы классов для удаления» будут содержать идентификаторы, которые пользователь хочет удалить.Эта промежуточная кнопка «>>» переносит выбранный идентификатор класса из списка «Доступный идентификатор класса» в список «Выбранные идентификаторы классов для удаления», а кнопка «<<» выполняет обратное действие.Это также даст вам гибкость, если вы завтра захотите определить новые идентификаторы классов для добавления.Вы можете просто добавить какое-либо событие в Список доступных классов.Этот дизайн дает вам преимущество, позволяя четко идентифицировать с помощью элементов формы идентификаторы классов, которые вы хотите удалить. Я бы рекомендовал этот подход в случае, если имеется более class_id, относящийся к user_id. </p>

0 голосов
/ 06 марта 2012

Когда пользователь снимает флажок с одного из полей, вы можете использовать JavaScript для создания скрытого ввода в форме с именем чего-то вроде «classRemoved» и значением идентификатора класса, который не был отмечен.Таким образом, когда форма отправлена, у вас есть список всех непроверенных классов.

Вместо метода флажка для удаления классов, возможно, более элегантный и современный способ сделать это - иметькаждый класс в отдельном ряду с красной кнопкой «X» рядом с ним.Если нажать кнопку «X», пользователь получит предупреждение о том, что класс будет удален, и после подтверждения в вашу базу данных будет сделан вызов AJAX, чтобы удалить класс из таблицы, а затем строка HTML, содержащая класс, будет скрыта;не нужно обновлять страницу.

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