2016-08-16 52 views
0

好吧,所以我有一個簡單的腳本(見下文),其中有一個輸入字段,人們可以輸入查詢,併發送到socrata-webservice請求特定的數據,然後顯示在警告框中。到現在爲止還挺好。使輸入字段大寫與Javascript無內聯JS

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 web服務只接受大寫字母的查詢,沒有別的。因此,我想確保任何人輸入的內容都會自動轉換爲大寫,並刪除所有特殊字符。現在通常情況下,我會做到這一點與內聯JS是這樣的:

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

我通過幾個網站,包括SO看了看,但是我發現所有的解決方案是上述變化;所有這些都是內聯JS解決方案。這一切都很好,但我目前正在研究一個Wordpress網站,由於'安全'原因,它不允許內聯JS。因此,我必須在外部JS文件中包含我的'uppercasing腳本'。儘管如此,我仍然遇到麻煩。

如何更改現有的.js文件以確保input中的所有條目都自動更改爲大寫?

+0

請參閱https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener –

+2

爲什麼發送時不要大寫呢? 'string.toUpperCase()'和css:'text-transform:uppercase;' –

回答

1

變化從{kenteken:$( 「#kteken」)VAL()}的方法的getJSON的第二個參數{kenteken:$( 「#kteken」)VAL()toUpperCase( )}正如Mettin所建議的那樣,你會很開心。

+0

工作。知道它必須是簡單的東西。謝謝! – Tijmen

0

嘗試CSS

我們可以使用text-transform: uppercase。使用PHP函數將其轉換爲服務器端的大寫字母。

input { 
    text-transform: uppercase; 
} 
+0

我無法使用CSS。重點是發送大寫到Web服務。 CSS只會使它看起來像是大寫字母,但不會使其大寫。編輯:忽略了PHP部分。這可能會起作用,但是我幾乎沒有使用PHP的經驗,所以我更喜歡JS解決方案 – Tijmen

+0

輸入字段是表單的一部分嗎? – jophab