1

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

<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>

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

谢谢!

4

2 回答 2

7

我建议采用以下更易于维护的方法,它使用事件注册模型而不是内联模型

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/

于 2010-12-06T00:47:30.850 回答
2

创建一个 CSS 类

.showUpperCase { text-format: uppercase; }

并将其添加到您的跨度或文本框。

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

这不会更改输入的字符,只会将它们显示为大写。这意味着如果您通过文本框处理输入,您也必须更改为大写的服务器端。这不是额外的苦差事,因为无论客户端做什么,您都必须警惕客户端处理和服务器端验证

于 2012-04-11T14:45:53.967 回答