HTML表单文本onkeyup

时间:2010-12-06 00:44:54

标签: javascript html forms onkeyup

此代码会将框中用户输入的任何内容更改为大写,并在框中显示结果。

<html>
<head>
<script type="text/javascript">
function upperCase(x)
{
   var y=document.getElementById(x).value;
   document.getElementById(x).value=y.toUpperCase();
   document.getElementById("mySpan").value=y.toUpperCase();

}
</script>
</head>
<body>

Enter your name: <input type="text" id="fname" onkeyup="upperCase(this.id)">
<br/>
<span id="mySpan"></span>

</body> </html>

但是我怎样才能让它在文本框下显示呢?当用户输入时,大写文本显示在文本框下?

谢谢!

2 个答案:

答案 0 :(得分:7)

我建议采用以下更易于维护的方法,使用event registration model而不是inline model

JS:

<script>
document.getElementById("fname").onkeyup = function() {
    document.getElementById("mySpan").innerHTML = this.value.toUpperCase();   
}
</script>

标记:

Enter your name: <input type="text" id="fname"/>
<br/>
<span id="mySpan"></span>

演示:http://jsfiddle.net/karim79/GPZ8h/

答案 1 :(得分:2)

创建一个css类

.showUpperCase { text-format: uppercase; }

并将其添加到您的span或textBox。

<span id="mySpan" class="showUpperCase"></span>

这不会更改输入的字符,只会将其显示为大写字母。 这意味着,如果您通过textBox处理输入,则必须执行此操作 也改为大写服务器端。这不是额外的 家务活,因为你必须警惕客户端处理和服务器端验证,无论客户端做什么