我们目前对单选按钮使用以下语法:
<input type="radio" id="opt1" name="option" value="opt1" required/>
<label for="opt1">Description of Option One</label>
<input type="radio" id="opt2" name="option" value="opt2" required/>
<label for="opt2">Description of Option Two</label>
查询处理脚本接收字符串"opt1"
,然后需要将其转换为选项的全文描述。用PHP语言来说,我得到:
$_POST['option'] => "opt1"
我想保存该步骤,并将描述的全文作为值提交:
$_POST['option'] => "Description of Option One"
这是否可以单独使用HTML来完成 - 无需诉诸JavaScript重写技巧,也不重复HTML中的描述文本?谢谢!
不幸的是不是。
如果您可以控制表单,则最佳解决方案是使用值的说明:
<input type="radio" id="opt1" name="option" value="Description of Option One" required/>
<label for="opt1">Description of Option One</label>
<input type="radio" id="opt2" name="option" value="Description of Option Two" required/>
<label for="opt2">Description of Option Two</label>
如果你无法控制表单,那么javascript是你唯一的解决方案,你可以使用如下函数(在页面的onload
事件或表单上的onsubmit
事件中:
function radioUpdate() {
document.querySelectorAll('radio').forEach(function(input) {
input.value = document.querySelector('label[for="' + input.id + '"]').text();
});
};
不,它不能。
首先考虑从服务器端代码生成 HTML。您可以编写一个将标签/值作为单个参数的 PHP 函数。