HTML语义:没有用于删除项目的输入字段的表单

问题描述

如何从语义上构造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>元素表示可单击的按钮,用于提交表单或文档中的任何位置以提供可访问的标准按钮功能。

Mozilla HTML Elements Reference: Button Element

无论按钮操作是“软”删除还是“硬”删除,都应使用独立按钮,但是您应该使用文本或其他方法来确保用户了解正在执行的操作。

<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>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...