html - 在联系表单数组中使用长破折号

标签 html html-encode

这里是新手网络开发人员。我正在为我的网站构建一个联系订单表单,我正在使用的相关字段使用单选按钮为用户提供 X 和 Y 之间的选项。如果我使用破折号,它将很好地显示在事物的视觉方面,但无论我是否使用破折号字符作为选项的值,如果有任何错误,它都不会保留该值。请允许我解释一下。

<div class="fieldwrap">
  <div class="formlabel">
    <p>Color Options<span style="color:red">*</span></p>
  </div>
  <label>
   <input type="radio" value="As shown—without logo" name="color"
   <?php  if ($fields['Color']=='As shown—without logo') echo 'checked="checked"' ; ?>>
   As shown&#8212;without logo
  </label><br>
  <label>
    <input type="radio" value="As shown—with logo" name="color" 
    <?php if ($fields['Color']=='As shown—with logo') echo 'checked ="checked"' ; ?>>
    As shown&#8212;with logo</label>
</div>

因此,我试图确保在表单返回错误(通常是由于表单验证或用户输入不正确)时,它会保持选中该选项。

现在,这在 Chrome 和 Internet Explorer 中工作正常,但 Firefox 不会检查这些值。我 99% 确定这与我的 charset 属性有关,我的设置为:

<meta charset="UTF-8">

我需要做什么才能使其在所有浏览器上正常运行,有什么想法吗?

最佳答案

避免使用“用户友好”的值。相反,它应该是这样的......

<input type="radio" value="nologo" name="color" /> As shown&mdash;without logo

然后,您的服务器将处理这个“nologo”值,并将其呈现给用户时,将返回一个更易读的内容。

显然,如何做到这一点取决于您,但“人类数据”与“计算机数据”的总体概念正是我在这里所要理解的。服务器不需要处理用户看到的文本。此外,这还允许您更改“nologo”含义的确切措辞,而无需更改整个数据结构。

关于html - 在联系表单数组中使用长破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34903229/

相关文章:

javascript - 不再在 table 上添加相同的产品

javascript - 单击其中的单选选项时更改 div 类

javascript - Django 模板 - 如果在另一个表单中选择特定项目,则隐藏表单

c# - 如何安全地对可能已经被 HTML 编码的内容进行 HTML 编码?

HTML:创建子菜单时遇到问题,如何创建第三级菜单?

html - CSS从另一个div中改变一个div的颜色

html - 元描述中应该使用 HTML 字符代码还是符号?

html - 编码 HTML 的正则表达式

asp.net-mvc - 在 ASP.NET MVC 中构建 ActionLink 时是否应该调用 Html.Encode

seo - 您能否在 schema.org 微数据值中使用 utf-8 或 HTML 实体转义(十六进制)代码?