我有输入字段,并使用onKeyup和onKeyPress返回数字&字符然后移动到下一个字段。
<input name="aendcodeM" id="aendcodeM" type="text" size="25" maxlength="4" onKeyPress="return numchar(event)" onKeyup="autotab(this, document.form1.bendcodeM)"/>
<input name="bendcodeM" id="bendcodeM" type="text" size="25" maxlength="4" onKeyPress="return numchar(event)" onKeyup="autotab(this, document.form1.bndwdM)"/>
我正在尝试使用自动大写的功能,代码可以作为 -
<script type="text/javascript" src="js/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("input").keyup(function() {
var val = $(this).val()
$(this).val(val.toUpperCase())
})
})
</script>
<script>
$(document).ready(function() {
$("textarea").keyup(function() {
var val = $(this).val()
$(this).val(val.toUpperCase())
})
})
</script>
<script>
$(input[type="text"]).on('keypress', function() {
var $this = $(this), value = $this.val();
if (value.length === 1) {
$this.val( value.charAt(0).toUpperCase() );
}
});
</script>
但是没有用,因为角色没有像欲望那样自动资本化。在这方面有任何帮助,请务必。
谢谢&amp; Reagrds
答案 0 :(得分:5)
使用css text-transform:大写作为输入的文字&amp; textarea 元素:
input, textarea{
text-transform: uppercase;
}
这对你有用。
答案 1 :(得分:2)
代码中的许多错误:
为什么在没有初始化时调用函数?
未捕获的ReferenceError:演示中未定义autotab 错误。
<input name="aendcodeM" id="aendcodeM" type="text" size="25" maxlength="4" onKeyPress="return numchar(event)" onKeyup="autotab(this, document.form1.bendcodeM)"/>
^^^^^ ^^^^
此处还缺少'
:
$('input[type="text"]').on('keypress', function() {
^ ^
答案 2 :(得分:1)
您应该只在Javascript中使用一个$(document).ready( ... )
。
Working demo of your code (fixed)
JS:
$(document).ready(function() {
$("input, textarea").keyup(function() {
var val = $(this).val()
$(this).val(val.toUpperCase());
});
$('input[type="text"]').on('keypress', function() {
var $this = $(this), value = $this.val();
if (value.length === 1) {
$this.val( value.charAt(0).toUpperCase() );
}
});
});
答案 3 :(得分:0)
这样做是不必要的。我强烈建议您使用text-transform CSS属性强制大写。
input{
text-transform: uppercase;
}
这将强制客户端始终以大写形式呈现文本。
小心,因为值不是。当您处理您的操作时,重要的是您将值转换为客户端或服务器端的大写。
答案 4 :(得分:0)
有时我发现当你使用与函数名相同的变量名或与任何关键字相同时,它会抛出错误
所以尽量做一件事。也使用ID。
$(document).ready(function() {
$("#text_area").keyup(function() {
var valtext = $(this).val()
$(this).val(valtext.toUpperCase())
})
})
对此进行测试。可能这是您案件中发生的情况
也使用ID。
答案 5 :(得分:0)
var val = $(this).val();//notice semicolon here
$(this).val(val.toUpperCase());//notice semicolon here
这是你的问题。您需要更好地理解这些概念。您正尝试在javascript和jquery中注册事件处理程序。 autocad和numchar函数没有定义,因为这些是使用javscript的事件处理程序,当它们被命中时它不会工作。
左下方查找代码,并查看此小提琴http://jsfiddle.net/wishy/qbfkhz88/
<input name="aendcodeM" id="aendcodeM" type="text" size="25" maxlength="4" />
<input name="bendcodeM" id="bendcodeM" type="text" size="25" maxlength="4" />
和javascript是
$(document).ready(function() {
$("input").keyup(function() {
var val = $(this).val();
$(this).val(val.toUpperCase());
});
});
答案 6 :(得分:0)
$("textarea").keyup(function() {
var valtext = $(this).val()
$(this).val(valtext.toUpperCase())
});
以上代码适用于页面的所有textarea
。首先,我们将采用用户开始输入的textarea
值,然后使用内置函数将其设为Upper case
jquery并分配给textarea。
答案 7 :(得分:0)
$('[type=text]').keyup(function(){
if($(this).val()!=''){
$(this).val( $(this).val().toUpperCase());
}
});
答案 8 :(得分:0)
试试这个
$( "#aendcodeM" ).bind( "input", function() {
$("#aendcodeM").val($("#aendcodeM").val().toUpperCase());
});