Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 接收[object HTMLInputElement]而不是我的变量_Javascript_Html - Fatal编程技术网

Javascript 接收[object HTMLInputElement]而不是我的变量

Javascript 接收[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

我有一个与HTML文件位于同一位置的.js文件,我试图做的是当我点击一个单选按钮时,显示信息。我用了5个按钮中的4个。最后一个只是显示错误,而不是.js文件中的Var

<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."