Javascript 如何以小写形式提交表单值?
我有一个表单中的组合框,用html编写,如下所示:Javascript 如何以小写形式提交表单值?,javascript,html,forms,Javascript,Html,Forms,我有一个表单中的组合框,用html编写,如下所示: <form name="formname" action="formaction.php" method="get"> <select name="selectname"> <option>Option1</option> <option>Option2</option> <option>Option3&l
<form name="formname" action="formaction.php" method="get">
<select name="selectname">
<option>Option1</option>
<option>Option2</option>
<option>Option3</option>
</select>
<!-- other inputs -->
</form>
选择1
选择2
选择3
提交时,示例url为“formaction.php?selectname=Option1”。我希望在url中以“option1”的形式传递选项值,但我希望避免每个选项都有一个value
属性,该属性等于选项的innerHTML(我也考虑过通过JS动态地这样做)。注意:我已经在服务器端处理了值,不考虑字符大小写;我想这样做只是为了美观
我的目标是以小写形式提交所有表单值。
我尝试将onsubmit
属性添加到带有state=state.toLowerCase()
的表单,以及类似的表单,如通过id检索的文档元素引用值
这是可能的,还是我必须动态地将每个选项的
值设置为小写形式?javascript中没有将所有表单值设置为小写形式的本机方法
您可以同样轻松地在服务器端处理这些值并将其转换为小写。或者,您可以在html中将它们打印为小写,并使用css将它们显示为首字母大写:
<select name="selectname">
<option>option1</option>
<option>option2</option>
<option>option3</option>
</select>
select option {
text-transform:capitalize;
}
选择1
选择2
选择3
选择选项{
文本转换:大写;
}
javascript中没有将所有表单值设置为小写的本机方法
您可以同样轻松地在服务器端处理这些值并将其转换为小写。或者,您可以在html中将它们打印为小写,并使用css将它们显示为首字母大写:
<select name="selectname">
<option>option1</option>
<option>option2</option>
<option>option3</option>
</select>
select option {
text-transform:capitalize;
}
选择1
选择2
选择3
选择选项{
文本转换:大写;
}
如果您真的必须在前端执行此操作,那么我建议使用jQuery之类的工具在页面$('input')
中查找您的所有输入(我想,服务器端通常应该是您的第一个调用端口,甚至更好,在生成HTML时只需使用大写版本
)
但是,在提交表单之前,客户端解决方案cll将此函数用于:
myLowerCaser()
{
$('input').each(function(i, input)
{
input.val(input.val.toLowerCase())
}
return true;
}
如果您想让“输入”只影响某些事情(例如JUT),则将“输入”替换为更具体的选择器。组合框应为$('select.selectname')
如果您确实必须在前端执行此操作,则我建议使用类似jQuery的方法在页面中查找所有输入$('input')
(我想,服务器端通常应该是您的第一个调用端口,甚至更好,在生成HTML时只需使用大写版本
)
但是,在提交表单之前,客户端解决方案cll将此函数用于:
myLowerCaser()
{
$('input').each(function(i, input)
{
input.val(input.val.toLowerCase())
}
return true;
}
如果您希望“输入”只影响某些事情,请将其替换为更具体的选择器(例如,组合框将是$('select.selectname'))
为什么不在服务器端处理值呢?@AndreDublin我已经在不敏感地处理服务器端的值大小写了。虽然这听起来可能有点强迫症,但我只是想让url保持完全小写,因为我相信key=value
在url中看起来比key=value
干净得多。我明白了,看起来好像Ibu的css解决方案可能是你最好的选择。为什么不在服务器端处理值呢?@AndreDublin我已经在不敏感地处理服务器端的值大小写了。虽然这听起来有点强迫症,但我只是想让url保持完全小写,因为我相信key=value
在url中看起来比key=value
干净得多。我明白了,看起来Ibu的css解决方案可能是您的最佳选择。我已经尝试过该解决方案(正如我在问题中所说的)使用onsubmit
属性无效。但是,我没有在提交按钮的onclick
属性中尝试这样做。我还在问题中解释说,我不想将每个选项的值设置为显示内容的小写值。无论如何,谢谢。自从我看到它之后,问题发生了很大的变化:-)问题发布后唯一的变化是我添加了关于服务器端无关的注释。我已经尝试过这个解决方案(正如我在问题中所说的)使用onsubmit
属性无效。但是,我没有在提交按钮的onclick
属性中尝试这样做。我还在问题中解释说,我不想将每个选项的值设置为显示内容的小写值。无论如何,谢谢。自从我看到它之后,问题发生了很大的变化:-)这个问题自发布以来唯一的变化是我添加了关于服务器端不相关的注释。如果有人在禁用css的情况下或通过文本查看器查看,会发生什么?@MartinLyne很好,但这不应该是一个问题,因为数据在服务器端是以不敏感的方式处理的。这看起来有点奇怪(选项小写)对于禁用css的用户,但我确实希望我的以论坛为中心的网站没有任何禁用css的用户。如果有人在禁用css的情况下或通过文本查看器查看,会发生什么情况?@MartinLyne很好,但这不应该是一个问题,因为数据在服务器端是不区分大小写处理的。从美学角度看,这会有点奇怪(选项小写)用于禁用css的用户,但我确实希望我的以论坛为中心的网站没有任何禁用css的用户。