JavaScript仅大写第一个字母

JavaScript仅大写第一个字母,javascript,html,css,Javascript,Html,Css,再说一遍:我在这里学习! 很抱歉问了这么多基本的问题,但我必须学会 利用我在网上读到的一个技巧,我试图将它从大写字母改为大写字母。请参见此处的代码-具体来说,我们正在查看JavaScriptonkeyup: 这项工作: <label for="class">Classification</label> <input type="text" name="class" id="class" value="" required="true" placeholder=""

再说一遍:我在这里学习! 很抱歉问了这么多基本的问题,但我必须学会

利用我在网上读到的一个技巧,我试图将它从大写字母改为大写字母。请参见此处的代码-具体来说,我们正在查看JavaScript
onkeyup

这项工作:

<label for="class">Classification</label>
<input type="text" name="class" id="class" value="" required="true" placeholder="" style="text-transform:uppercase" onkeyup="javascript:this.value=this.value.toUpperCase();" />
分类
这不起作用:

<label for="judge">Judge's Name</label>
<input type="text" name="judge" id="judge" value="" required="true" placeholder="" list="judges" style="text-transform:capitalize" onkeyup="javascript:this.value=this.charAt(0).toUpperCase() + this.substr(1);" />
法官姓名

您刚刚错过了检索
value
属性,您需要将
charAt
substr
应用于字符串,而不是直接应用于dom元素

法官姓名

您刚刚错过了检索
value
属性,您需要将
charAt
substr
应用于字符串,而不是直接应用于dom元素

法官姓名

this.charAt
不是一个函数,它应该是
this.value.charAt(0)
。此.substr与
相同。查看浏览器中的控制台(按F12)。它会告诉你错误。是的,似乎我漏掉了。值为2点。感谢您提醒我使用F12控制台。
this.charAt
不是函数,应该是
this.value.charAt(0)
。此.substr与
相同。查看浏览器中的控制台(按F12)。它会告诉你错误。是的,似乎我漏掉了。值为2点。谢谢你提醒我使用F12控制台。我没有投反对票,但脚本是不必要的,因为OP已经解决了CSS的问题。我没有投反对票。我只对这个答案投了赞成票,因为这是解决实际问题、解释问题并提供有效解决方案的唯一答案。可能是因为您没有提到
addEventListener
。这实际上并没有解决问题,因为没有问题,@Xufox。OP使用的脚本是无用的-不管它是否有错误-它可以被删除。键“left”和“right”将不允许您在文本中移动-按下任何键后,回车将移动到文本的末尾。至少在狩猎中。我已经离开了一整天,所以我要回到这个问题上。。。看来CSS不是解决方案!CSS仅用于转换,它实际上不会更改稍后将在数据库中使用的真实数据。因此JS是必要的——添加的内联CSS只是让表单填写时看起来更好。如果没有CSS,你会得到一个有趣的时刻,大小写变为小写,然后变为大写。所以CSS在这里是多余的。我没有投反对票,但是脚本是不必要的,因为OP已经解决了CSS的问题。我没有投反对票。我只对这个答案投了赞成票,因为这是解决实际问题、解释问题并提供有效解决方案的唯一答案。可能是因为您没有提到
addEventListener
。这实际上并没有解决问题,因为没有问题,@Xufox。OP使用的脚本是无用的-不管它是否有错误-它可以被删除。键“left”和“right”将不允许您在文本中移动-按下任何键后,回车将移动到文本的末尾。至少在狩猎中。我已经离开了一整天,所以我要回到这个问题上。。。看来CSS不是解决方案!CSS仅用于转换,它实际上不会更改稍后将在数据库中使用的真实数据。因此JS是必要的——添加的内联CSS只是让表单填写时看起来更好。如果没有CSS,你会得到一个有趣的时刻,大小写变为小写,然后变为大写。所以CSS在这里是多余的。