编辑行 - 原型

时间:2012-03-02 02:08:35

标签: sql checkbox

我需要有关视觉和程序化方面的帮助。好的,我允许用户编辑与其唯一ID相关的某些行。当用户单击编辑时,它会显示用户表中包含其特定ID的所有行(请参阅下面的表格布局)。此外,还会为用户出现的每个类生成一个复选框(同样基于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. 这不是一个问题,因为它是一个烦恼 - 是否有更好的方法去做这个?我真的讨厌这个设计。
  3. 我很感激上述任何一个问题的帮助。

    谢谢!

    埃文

2 个答案:

答案 0 :(得分:1)

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

我已经在上面的链接上传了一张图片,我认为这是一个更加用户友好的设计。 在“编辑用户详细信息”页面上,用户可以通过文本框编辑其用户名。 此外,“可用类ID”显示在带有多个选择选项的列表框中,并且“要删除的选定类ID”将包含Ids用户希望删除的内容。按钮'>>'这在两者之间将选定的类ID从“可用类ID”列表框传输到“选择要删除的类ID”列表框,而按钮'<<<反之亦然。 如果您明天想要识别要添加的新类ID,它还为您提供了灵活性。 您只需将某些事件添加到Available Class Ids List即可。 该设计为您提供了通过表单元素清楚地识别的优势,这些元素是您要删除的类ID。如果有更多class_id属于user_id,我会推荐这种方法。

答案 1 :(得分:0)

当用户取消选中其中一个框时,您可以使用JavaScript在表单中创建隐藏的输入,其名称类似于“classRemoved”,以及未选中的类ID值。这样,当提交表单时,您将获得所有未经检查的类的列表。

而不是用于删除类的复选框方法,也许更优雅和现代的方法是将每个类放在它自己的行上,旁边有一个红色的“X”按钮。如果单击“X”按钮,将警告用户该类将被删除,并在确认后,对数据库进行AJAX调用以从表中删除该类,然后隐藏包含该类的HTML行;无需刷新页面。