你如何自动设置文本框为大写?
我正在使用下面的样式属性将用户input设置为大写,这样当用户开始在文本框例如railway
,它应该被修改为像RAILWAY
这样的大写字母,而不需要用户按下Caps-lockbutton。
这是我用于input的代码:
<input type = "text" class = "normal" name = "Name" size = "20" maxlength = "20"> <img src="..http://img.dovov.comtickmark.gif" border="0" style='text-transform:uppercase'/>
但是我没有通过使用这个属性得到所需的输出。
您已将style
属性放在<img>
标签上,而不是<input>
。
在属性名称和值之间使用空格也不是一个好主意…
<input type="text" class="normal" name="Name" size="20" maxlength="20" style="text-transform:uppercase" /> <img src="..http://img.dovov.comtickmark.gif" border="0" />
请注意,这种转换纯粹是可视化的,不会更改POST中发送的文本。
上面给出的解决scheme在发布数据时被破坏。 相反,你可以做这样的事情;
对于你input的HTML使用onkeydown;
<input name="yourInput" onkeydown="upperCaseF(this)"/>
在你的javascript;
function upperCaseF(a){ setTimeout(function(){ a.value = a.value.toUpperCase(); }, 1); }
使用每个按键上的upperCaseF()
函数,input的值将变成大写forms。
我也放了一个1ms的延迟,以便在发生keydown事件之后触发function代码块。
尝试
<input type = "text" class = "normal" style='text-transform:uppercase' name = "Name" size = "20" maxlength = "20"> <img src="..http://img.dovov.comtickmark.gif" border="0"/>
而不是把图像放在input样式标签,因为你正在input而不是图像上写
第一个问题是占位符也是大写的。 如果你只要input大写,使用下面的解决scheme。
为了仅select非空的input元素,在元素上放置必需的属性:
<input type="text" id="name-input" placeholder="Enter symbol" required="required" />
现在,为了select它,使用:valid
伪元素:
#name-input:valid { text-transform: uppercase; }
这样你将只input大写字母。
设置以下样式将所有文本框设置为大写
input {text-transform: uppercase;}