Javascript 接收[object HTMLInputElement]而不是我的变量
我有一个与HTML文件位于同一位置的.js文件,我试图做的是当我点击一个单选按钮时,显示信息。我用了5个按钮中的4个。最后一个只是显示错误,而不是.js文件中的VarJavascript 接收[object HTMLInputElement]而不是我的变量,javascript,html,Javascript,Html,我有一个与HTML文件位于同一位置的.js文件,我试图做的是当我点击一个单选按钮时,显示信息。我用了5个按钮中的4个。最后一个只是显示错误,而不是.js文件中的Var <p> <!-- Radio buttons for drinks --> <strong>Select your drink:</strong> <br /><br /> <input type="radio" name="dr
<p> <!-- Radio buttons for drinks -->
<strong>Select your drink:</strong>
<br /><br />
<input type="radio" name="drink" onclick="document.drinkList.drinkDesc.value = black" /> Black Coffee
<br />
<input type="radio" name="drink" onclick="document.drinkList.drinkDesc.value = loco" /> Loco Mocha
<br />
<input type="radio" name="drink" onclick="document.drinkList.drinkDesc.value = vanilla" /> Vanilla Bean Frappuccino
<br />
<input type="radio" name="drink" onclick="document.drinkList.drinkDesc.value = pumpkin" /> Pumpkin Spice Latte
<br />
<input type="radio" name="drink" onclick="document.drinkList.drinkDesc.value = caramel" /> Caramel Macchiato
<br />
</p>
<p><!-- Design for output -->
<textarea name="drinkDesc" cols="120" rows="1" style="background-color: Transparent; border: none; resize: none; overflow: hidden; font: 16px arial; color: #3F3F3F"></textarea>
</p>
谢谢大家! 我做了一个改变:
使用getElementById而不是文档。[elementname]
var black=“纯黑咖啡,由我们最好的烘焙咖啡豆酿造而成。”
var loco=“巧克力摩卡口味,覆盖巧克力片,顶部涂有鲜奶油。”
var vanilla=“香草味冰饮料,顶部加鲜奶油和焦糖。(不加咖啡)
var pumpkin=“南瓜味拿铁,浓缩咖啡和牛奶混合在一起,是一种美味的饮料。”
var caramel=“带有香草味糖浆的蒸牛奶标有浓缩咖啡,顶部有焦糖细雨。”
选择您的饮料:
黑咖啡
摩卡咖啡
香草豆脆饼
南瓜香料拿铁
焦糖玛奇朵
之所以得到[object HTMLInputElement]
是因为焦糖的值是通过全局变量引用元素的。HTML中带有id
或name
的元素可以是JavaScript窗口的全局变量。因此,如果一个元素有id=“caramel”
或name=“caramel”
,它将在JS中作为caramel
引用到该元素。一个简单的解决方案是为var caramel
(例如caramel
)使用不同的名称,或者更改HTML元素中id/name
的值。显示了什么错误?页面中是否有id为“caramel”的输入?[对象HTMLInputElement]它显示的是这个,而不是.js文件中的数据。除最后一个单选按钮外,所有其他单选按钮都可以工作。是的,我发布的.js文件中标记了var caramel。@RockGuitarist1带有和id
的元素在浏览器中可以是全局变量。因此,如果有一个元素具有id=“caramel”
,则caramel
的值将引用该元素。
var black = "Plain black coffee brewed from our finest of roasted coffee beans."
var loco = "Chocolate mocha flavored, covered in chocolate chips and topped with whipped cream."
var vanilla = "Vanilla flavored iced drink, topped with whipped cream and caramel. (No coffee added)"
var pumpkin = "Pumpkin flavored latte, with espresso and milk mixed together for a delicious beverage."
var caramel = "Steamed milk with vanilla-flavored syrup is marked with espresso and topped with caramel drizzle."