问题描述
如何从语义上构造HTML以删除项目?
我知道HTML的<form method="...">
仅允许“ POST”和“ GET”。但这对我来说并不重要,因为所有表格都是通过AJAX提交的。 (顺便说一句,我发现了一些旧的草稿,要求以http://amundsen.com/examples/put-delete-forms/的形式请求“ PUT”和“ DELETE”)。这个问题与HTML语义有关。
在极少数情况下,有些表单会使用输入字段,以便让用户确认其删除操作(例如GitHub“删除此存储库”)。
但是,如果表单完全不包含任何输入,而只包含一个提交按钮,该怎么办?
奖金问题:如果是 real 删除与 soft 删除(又称“移至垃圾箱”),这有什么区别吗?
解决方法
如果您无法使用HTML <form>
方法,并且必须依靠javascript将信息发送到服务器,在这种特定情况下,将单独使用<button>
元素(不包含包装表单元素)最合适。按钮不必包装成用于触发动作的形式。
HTML
<button>
元素表示可单击的按钮,用于提交表单或文档中的任何位置以提供可访问的标准按钮功能。
无论按钮操作是“软”删除还是“硬”删除,都应使用独立按钮,但是您应该使用文本或其他方法来确保用户了解正在执行的操作。
<button class="soft-delete" type="button" data-item="1234">Move to Trash</button>
<button class="hard-delete" type="button" data-item="1234">Delete Forever</button>