XHTML Strict 1.0的Enctype

时间:2011-07-17 23:12:41

标签: html xhtml mime-types xhtml-1.0-strict

为了我自己的启发,我构建了一个包含表单的XHTML Strict 1.0页面。我希望它只接受text / xml MIME类型,因此我已相应地指定了 accept 属性。 但是,当还包括 enctype =“mulipart / form-data”属性值对时,无法验证它。
在使用XHTML Strict 1.0时是否有指定enctype的替代方法?我是否需要指定enctype或类似的东西?

我还没有设置实际的“动作”(cgi或其他一些后端功能)。我目前只关心客户端,并希望在上传任何非xml的内容时提示用户。我在这需要JavaScript吗?

而且,似乎没有太多人喜欢任何形式的XHTML。如果您可以自由选择XHTML Strict / Frameset / Transitional或HTML 4.01作为静态页面,哪种标准最好?

2 个答案:

答案 0 :(得分:0)

表单编码(enctype属性)必须为multipart/form-data才能使文件上传起作用。

根据我的发现,accept属性根本没有在任何浏览器中实现。

因此,如果您想在实际上传之前提供有关所选文件的任何反馈,那么使用Javascript似乎是唯一的选择。


有些人对XHTML有很强烈的意见,但这并不意味着它不是一个广泛使用的标准。

答案 1 :(得分:0)

首先解决最后一点:严格的XHTML 1.1会受到以下事实的影响:W3C建议确实要求您将文档作为MIME类型application/xml+xhtml或类似的东西传递,而且几乎不可能在Web服务器以满足大多数(如果不是全部)当前客户端的方式。因此,如果你不能正确地做到这一点你也可以使用HTML 4.01,它在语法上几乎相同并且可以说更强大(例如HTML 4.01可以有效地禁止嵌套锚点,而XHTML必须将其添加为文本附加子句)。您将完成相同的工作,几乎所有现有客户都会理解它。 (因为我相信你只会使用DOM方法来操作文档客户端,所以AJAX后端发送其他形式的XML也不会有问题。)

对于第一个问题:没有任何东西迫使任何客户做任何具体的事情。 accept属性是客户端可能接受或拒绝的提示,但它不必以任何定义的方式对此进行操作。如果您愿意,可以使用脚本在客户端上添加一些可选的附加验证,但当然您也必须在服务器上验证输入数据。