新手web开发人员。我正在为我的网站建立一个联系订单表格,我正在使用的字段使用单选按钮为用户提供X和Y之间的选项。如果我使用em破折号,它将显示就好了事物的视觉方面,但不管我是否使用破折号字符表中的选项值,如果有任何错误,它将不会保留值。请允许我解释一下。
<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—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—with logo</label>
</div>
所以我试图确保在表单返回错误的情况下检查选项,通常是由于表单验证或用户输入不正确。
现在,这在Chrome和Internet Explorer中运行正常,但Firefox不会检查这些值。我99%肯定这与我的charset属性有关,我的属性设置为:
<meta charset="UTF-8">
我需要做些什么才能让它在所有浏览器中都能很好地发挥作用?
谢谢!
编辑:这是我在Firefox中运行var_dump($_REQUEST);
时得到的结果。
array(15){[“requiredinput”] =&gt; string(0)“”[“productname”] =&gt; string(18)“Christmas Tree Box”[“quantity”] =&gt; string(2)“12”[“size”] =&gt; string(24)“3.75”x 2.1875“x 3.625”“[”color“] =&gt; string(12)”没有徽标“[”coat“] =&gt; string(4)”None“[”duedate“] =&gt; string(0)“”[“jobname”] =&gt; string(0)“”[“comments”] =&gt; string(0)“”[“name”] =&gt; string(0)“ “[”company“] =&gt; string(0)”“[”phone“] =&gt; string(0)”“[”fax“] =&gt; string(0)”“[”email“] =&gt ; string(0)“”[“PHPSESSID”] =&gt; string(32)“003cb8367fd4f8dac28e9efaae8d03b4”}
答案 0 :(得分:1)
避免使用“用户友好”值。相反,它应该像......
<input type="radio" value="nologo" name="color" /> As shown—without logo
然后,您的服务器将处理此“nologo”值,并在向用户呈现时,将返回更具可读性的内容。
显然你如何做到这一点取决于你,但是“人类数据”与“计算机数据”的总体思路就是我在这里得到的。服务器不需要处理用户看到的文本。此外,这允许您更改“nologo”的确切措辞,而无需更改整个数据结构。
答案 1 :(得分:0)
您的无线电输入中提供的value=".."
(PHP脚本检查)不会显示给最终用户,因此只要它们是唯一的,您将这些值设置为什么并不重要。最简单的解决方案是避免在value属性中使用em dash。
试试这个:
<div class="fieldwrap">
<div class="formlabel">
<p>Color Options<span style="color:red">*</span></p>
</div>
<label>
<input type="radio" value="without" name="color"
<?php if ($fields['Color']=='without') echo 'checked="checked"' ; ?>>
As shown—without logo
</label><br>
<label>
<input type="radio" value="with" name="color"
<?php if ($fields['Color']=='with') echo 'checked ="checked"' ; ?>>
As shown—with logo</label>
</div>
用户仍会看到em破折号,因为您在单选按钮输入后将其作为文本包含在内。