如何在DOM中强制转换文本为大写?解决输入自动填充显示与实际不一致问题
解决输入框显示大写且同步DOM实际内容的问题
嘿,这个问题我太懂啦!用text-transform:uppercase确实只是让文字看起来是大写,但输入框里实际存储的还是用户输入的原内容,要彻底解决的话,咱们直接在输入事件里把内容转成大写,同时更新输入框的实际值就好啦。
给你修改后的原生JS代码,直接替换原来的脚本就行:
var name1 = document.getElementById('name'); name1.addEventListener('input', function() { // 将输入内容转换为大写 var upperCaseValue = this.value.toUpperCase(); // 更新输入框的实际value,确保DOM里的内容也是大写 this.value = upperCaseValue; // 同步更新显示结果的元素 var result = document.querySelector('.X'); result.innerHTML = upperCaseValue; });
如果你想用jQuery来实现(毕竟你引入了jQuery库),也可以用这段代码:
$('#name').on('input', function() { var upperCaseVal = $(this).val().toUpperCase(); $(this).val(upperCaseVal); $('.X').html(upperCaseVal); });
这样操作后,不管是输入框的实际值,还是填充到.X元素里的内容,都会是大写的,完美解决视觉效果和实际DOM内容不一致的问题~
内容的提问来源于stack exchange,提问作者Rohalt
相关产品推荐
相关产品推荐

