1

我在 Web 表单中有以下代码:

<select name=“selectyourpreference“&gt;
  <!--first option-->
  <option value="audiobook">Audiobook for listening</option>
  <!--second option-->
  <option value="option_select_001">Deluxe Book First Edition</option>
  <!--third option-->
  <option value="Canción en español">Canción en español</option>
</select>

当用户将在表单结果中看到的是 VALUE 而不是呈现的字符串文本。出于这个原因,建议为 VALUE 和要显示的字符串使用相同的字符串,对吗?

对于第一个选项,没有问题,因为许多针对英语使用者的教程,使用的字母都可以,但不幸的是,在编程中,很多时候只允许使用拉丁字符。

但是,如果用户选择第二个选项,他将看到:“option_select_001 是您选择的选项”,但这对用户没有任何意义。在表格中,他可能已经阅读了“豪华书籍第一版”。该值应该具有相同的字符串,对吗?

对于第三个选项,我做了“正确使用”,值和显示的字符串具有“相同的字符串”=“Canción en español”并且它有效;但是,它有非拉丁字符,例如 /ó/ 和 /ñ/ 中的附件(听起来像 /gn/)。

所以,在我的测试中,第三个选项有效,这是否意味着 HTML 中的 VALUE 属性允许所有类型的字符?还是只有扩展的拉丁字符?我的询问还扩展到复选框中的值。

我更喜欢使用这个冗长的解释,以避免在不知道我询问的真实背景的情况下,避免像是,否这样的一般性答案。

4

1 回答 1

1

这完全取决于所选的字符集(编码)。如果您将文件保存为 UTF-8,将 html 元字符集设置为 utf-8,它将在 javascript 中工作。如果您需要使用 php 发布表单或将其保存到数据库中,您可能还需要为其设置字符集。使用 MySQL 时,您可能需要在 db 连接中指定编码,并且还需要设置表/列的正确编码。对于与字符串具有相同值的问题 - 它很大程度上取决于用例。如果您打算使用 javascript 显示用户选择的内容,则不需要相同,因为您可以使用方法 innerHTML() 获取显示的字符串。您还可以向 html 添加自定义属性,例如 data-value"Supēr optíon",然后获取此属性的值(如果您想向字符串或类似内容添加图标,这很有用)。

于 2021-06-28T18:36:42.267 回答