【发布时间】:2012-03-22 09:45:35
【问题描述】:
编码标准到位意味着我没有为此使用 ajax 的选项。
用户已登录,SESSION 会跟踪他/她。登录时,他们的列表 从 mysql 中检索(服务器端)古代人类文物,并由 heredoc 显示它们 在 div 行中 - 每个 div 是一个带有一个工件的行 - 这里有两个 div 行:
'bronze-age tool' 'egypt' 'photo: tool3_found_1964-Feb_dig.jpg'
'decorated bowl' 'Shang Dynasty/China' 'photo: shang-bowl.png'
用户之前上传的这些工件的列表显示在 heredoc 中 一组 div 行。
div 列表不是表单。我可以将每一行(每个工件)做成一个表格来解决 我的问题,但它似乎很笨拙。用户必须能够单击 div 以 选择 和 highlight 在 div 行中的那个工件(以及我已经得到的选择/突出显示部分 工作,当然都是客户端javascript)。
然后,将 div 行上方的“删除”按钮从禁用更改为启用。
当点击“删除”按钮时,我需要点击服务器,给它选择的 div 的工件, 并且服务器已经知道登录用户(他们在 SESSION 中),然后服务器必须 删除该工件,当页面重新加载时,BAM 该工件的行现在从上面消失了 工件 div 列表。
如果我让每个 div-row 工件成为一个表单,在我的那个 div-row 的 onclick 处理程序中,我可以 以编程方式 submit() 该 div-row 表单(使用 javascript)以删除该工件,这将起作用。
但是让每个 div 都有自己的风格在 imo 上很糟糕。
我可以将整个heredoc 的div 集做成一个表单。但是,在提交时, 因为只有一个 div-row 被删除,服务器将被赋予一个潜在的大 一组 div,其中只有一个是要删除的“选定”div,并且必须 遍历 POST 数组并以某种方式从大量 div 中找到“选定”的 div 在 POST 数组中。
至少如果所选工件的每个 div 行都是其自身的形式,则 POST 数组 只会包含一个 div 的内容——用户想要删除的选定 div—— 然后服务器立即知道要删除哪个mysql记录(选定的div artifact) 无需遍历可能巨大的 div 形式,只需其中一个 div 是要删除的。
除了“整个heredoc是一个表单”和“每个div都是一个表单和一个程序化的submit() 删除选定的 div' - 有没有更好的方法来实现这一点我没有看到?
【问题讨论】:
标签: php javascript mysql html heredoc