使输入字段大写与Javascript没有内联JS

Make input field uppercase with Javascript WITHOUT inline JS

本文关键字:JS Javascript 输入 字段      更新时间:2023-09-26

好的,所以我有一个简单的脚本(见下面),它具有一个输入字段,人们可以在其中输入查询,并将其发送到socratawebservice以请求特定数据,然后在警告框中显示。到目前为止一切顺利。

var kenteken = $("#kteken").val();
var datum = document.getElementById("vervaldatum")
$(document).ready(function(){
    $("button").click(function(){
$.getJSON("https://opendata.rdw.nl/resource/m9d7-ebf2.json",{kenteken: $("#kteken").val()},function(data, status){
    alert ("APK Vervaldatum: " + data[0].vervaldatum_apk);});
});
});

然而,这个socrata webservice只接受大写字母的查询,而不接受其他任何查询。因此,我要确保任何人输入的所有内容都自动转换为大写,并删除所有特殊字符。一般情况下,内联JS会这样做:

onKeyup="this.value=this.value.replace(/[W]/g,'');"

我浏览了几个网站,包括SO,但我找到的所有解决方案都是上述的变化;都是内联JS的解决方案。这一切都很好,但我目前正在一个Wordpress网站上工作,出于"安全"原因,它不允许内联JS。因此,我必须在外部JS文件中包含我的"大写脚本"。但是我很难让它工作。

如何更改现有的.js文件,以确保input中的所有条目自动更改为大写?

根据Mettin的建议,将getJSON方法中的第二个参数从{kenteken: $("#kteken").val()}更改为{kenteken: $("#kteken").val(). touppercase()},您将可以很好地使用

试试CSS

我们可以用text-transform: uppercase。在服务器端使用php函数将其转换为大写。

input {
  text-transform: uppercase;
}