【问题标题】:HTML Forms Text onkeyupHTML 表单文本 onkeyup
【发布时间】:2010-12-06 00:44:54
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

  • 您需要学习 HTML 和 Javascript 的基础知识。

标签: javascript html forms onkeyup


【解决方案1】:

我建议使用以下更易于维护的方法,它使用 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/

【讨论】:

  • 如何在盒子下面放一个“span”?我不熟悉这些。
  • 是“span”的一种表单输入吗?
  • 这是我的:输入你的名字:
  • @Robert - 不是表单元素。查看链接,或谷歌“html span”。
  • @Robert 将该脚本标记放在&lt;/body&gt; 标记下,一切都应该工作:jsbin.com/ezoke4/edit
【解决方案2】:

创建一个 CSS 类

.showUpperCase { text-format: uppercase; }

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2011-08-14
    • 2014-02-01
    相关资源
    最近更新 更多