我有一个表格的组合框,用html编写,如下所示:
<form name="formname" action="formaction.php" method="get">
<select name="selectname">
<option>Option1</option>
<option>Option2</option>
<option>Option3</option>
</select>
<!-- other inputs -->
</form>
提交后,示例网址为“formaction.php?selectname = Option1”。我希望选项值在url中作为“option1”传递,但我希望避免为每个选项都有value
属性,等于选项的innerHTML(我考虑通过JS动态执行此操作)好)。注意:我已经在服务器端处理值而不考虑字符大小写;我想这样做只是为了美学。
我的目标是以小写字母表示提交所有表单值。
我尝试使用onsubmit
向表单添加state = state.toLowerCase()
属性,以及类似的形式,例如通过文档元素引用值,通过id检索。
这是可能的,还是我必须动态地将每个选项的value
属性设置为小写形式?
答案 0 :(得分:3)
javascript中没有将所有表单值设置为小写的本机方法。
您可以在服务器端轻松处理这些值并将其转换为小写。或者您可以在html中将它们打印为小写,并使用css将它们显示为首字母大写:
<select name="selectname">
<option>option1</option>
<option>option2</option>
<option>option3</option>
</select>
select option {
text-transform:capitalize;
}
答案 1 :(得分:0)
如果你真的必须在前端执行此操作,那么我建议使用jQuery之类的东西来查找页面$('input')
中的所有输入(想想,服务器端应该通常是您的第一个移动电话,甚至更好,只需在形成HTML时使用<option value="lowercaseversion">Upper Case Version</option>
。
但是,客户端解决方案,在提交表单之前提交此函数:
myLowerCaser()
{
$('input').each(function(i, input)
{
input.val(input.val.toLowerCase())
}
return true;
}
如果您希望它仅影响某些事物(例如JUT,组合框将为$('select.selectname')