2014-09-27 19 views
0

這是我的HTML:平變化不工作,但JavaScript的腳本是好的

<html> 
<head> 
<script> 
function ppid() { 
    var ppidtxt = document.getElementById('ppid').value; 
    var newppidtxt = ppidtxt.toUpperCase(); 
    var ppide = document.getElementById('ppid'); 
    ppide.value = newppidtxt; 
} 
</script> 
</head> 
<body> 
<form> 
    <center><input type="text" id="ppid" class="form-control" name="ppid" placeholder="Personal Project ID" onchange="ppid();" /></center> 
</form> 
</body> 
</html> 

我已經試過這是的jsfiddle,我的本地PC上,幾乎無處不在,但出於某種原因,每當我型在窗體的文本框中帶有「ppid」標識的東西並不是大寫。我做錯了什麼?

+0

你只需要CSS實際上是:'#ppid {文本轉換:大寫; }' – melancia 2014-09-27 08:19:16

+0

@MelanciaUK真正的問題是,onchange永遠不會爲我工作,這就是我需要修復的事實,這不是真正的上層部分,我需要幫助。 – unknownA 2014-09-27 08:21:09

+0

[Javascript:「onchange」事件可能的重複不能與「文本輸入」對象中的「值」更改一起使用)(http://stackoverflow.com/questions/6826707/javascript-onchange-event-does-not-work -with-value-change-in-text-input-o) – melancia 2014-09-27 08:25:43

回答

1

請嘗試使用onkeyup,例如,

<input type="text" onkeyup="this.value=this.value.toUpperCase()" /> 
+0

這工作。你絕對是一個JavaScript節省生命的人。 – unknownA 2014-09-27 08:25:54

0

我不知道爲什麼會發生這種情況,但是當onchange被調用時,'ppid'包含HTMLInputElement(可能是因爲它的id)。

如果您將該函數重命名爲獨特的東西(如'myFunc'),它就可以工作。

@MelanciaUK帶來了這個鏈接的回答:Why JS function name conflicts with element ID?

+1

這裏的答案:http://stackoverflow.com/questions/9158238/why-js-function-name-conflicts-with-element-id – melancia 2014-09-27 08:27:14

+0

如果我沒有發現這個問題,我不知道這個。從來沒有經歷過這種問題。 – melancia 2014-09-27 08:30:56

相關問題