如何以小写形式提交表单值?

时间:2012-10-27 01:27:20

标签: javascript html forms

我有一个表格的组合框,用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属性设置为小写形式?

2 个答案:

答案 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')

,请将“输入”替换为更具体的选择器