0

我有一个表单中的组合框,用 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>

提交后,示例 url 将是“formaction.php?selectname=Option1”。我希望选项值作为“option1”在 url 中传递,但我想避免value每个选项都有一个属性,等于选项的 innerHTML(我也考虑过通过 JS 动态执行此操作)。注意:我已经在服务器端处理值而不考虑字符大小写;我想这样做只是为了美观。

我的目标是以小写形式提交所有表单值。

我尝试使用onsubmit向表单添加一个属性state = state.toLowerCase(),以及类似的表单,例如通过 id 检索的 document 元素引用值。

这是可能的,还是我必须将每个选项的value属性动态设置为小写形式?

4

2 回答 2

3

javascript 中没有将所有表单值设置为小写的本机方法。

您可以在服务器端轻松处理这些值并将它们转换为小写。或者您可以在 html 中将它们打印为小写,并使用 css 将它们显示为首字母大写:

<select name="selectname">
        <option>option1</option>
        <option>option2</option>
        <option>option3</option>
    </select>

select option {
   text-transform:capitalize;
}
于 2012-10-27T01:30:09.713 回答
0

如果您真的必须在前端执行此操作,那么我建议您使用 jQuery 之类的东西来查找页面中的所有输入$('input')(认为服务器端通常应该是您的第一个呼叫端口,甚至更好,只是<option value="lowercaseversion">Upper Case Version</option>在形成 HTML 时使用。

但是,客户端解决方案,在提交表单之前调用这个函数:

myLowerCaser()
{
 $('input').each(function(i, input)
 {
   input.val(input.val.toLowerCase())
 }
 return true;
}

如果您希望它仅影响某些事情(例如 JUT 组合框将是$('select.selectname')

于 2012-10-27T01:33:18.197 回答