我想做以下事情:
为什么我在框中输入的字母没有被转换为大写字母?
这是我的代码:
<html>
<head>
<script>
function upperCase() {
var x = document.getElementById("form_1");
x = x.value.toUpperCase();
}
</script>
</head>
<body>
<form name="form1" id="form_1" method="post">
Enter your name:
<input type="text" name="nameInput">
Enter your street address:
<input type="text" name="streetInput">
Enter your city/state:
<input type="text" name="cityStateInput">
<input type="button" name="upperCaseButton" value="Convert to Uppercase"
onclick="upperCase()">
</form>
</body>
</html>
答案 0 :(得分:1)
您需要将每个<input>
元素的值重新分配给其大写版本。在下面的脚本中,我添加了一个辅助方法,它接受一个元素id并尝试将该元素的值更改为大写。 upperCase()
功能仍然是切入点,因此您根本不需要修改HTML代码。
<script>
function upperCaseInput(var id) {
var x = document.getElementById(id);
x.value = x.value.toUpperCase();
}
function upperCase() {
upperCaseInput("nameInput");
upperCaseInput("streetInput");
upperCaseInput("cityStateInput");
}
</script>
<强>用法:强>
<input type="button" name="upperCaseButton" value="Convert to Uppercase"
onclick="upperCase()">
答案 1 :(得分:0)
你需要:
1)更改id的名称,以便您可以通过ID检索每个元素。
<form name="form1" id="form_1" method="post">
Enter your name:
<input type="text" id="nameInput">
Enter your street address:
<input type="text" id="streetInput">
Enter your city/state:
<input type="text" id="cityStateInput">
<input type="button" id="upperCaseButton" value="Convert to Uppercase"
onclick="upperCase('nameInput'); upperCase('streetInput'); upperCase('cityStateInput');">
</form>
2)为每个要将其值转换为大写的输入调用函数。
upperCase = function(name) {
var inp = document.getElementById(name);
inp.value = inp.value.toUpperCase();
}