javascript - 添加表单标签时出现未定义错误

标签 javascript html

我正在使用下面的代码来更改显示的图像。当我向 html 添加表单标签时,当我更改下拉菜单时,仅在 IE 中显示“绘制未定义”时出现错误。我花了很长时间寻找并试图找出答案,但没有运气。有任何想法吗?谢了

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script type="text/javascript">

    function callAFunction(SelectBox)
    {
        var caption=[
            'Default Image Caption',
            'Caption1',
            'Caption2',
            'Caption3',
            'Caption4',
            'Caption5',
            'Caption6',
            'Caption7',
            'Caption8',
            'Caption9'],
        bp='images/',
        imgnum=8,
        thumb=document.getElementById('thumb'),
        description=document.getElementById('caption');
        thumb.src=bp+'picture'+paint.value+vinyl.value+'.jpg';
        description.innerHTML=caption[SelectBox.value];
    }

</script>
</head>
<body>


<form>
<img src="images/picture1.jpg" alt="" id="thumb">

<div id="caption">Caption1</div>

<label>Change the Paint: </label>
<select id="paint" name="paint" onChange="callAFunction(this); return false;">
    <option value="1">Image 1</option>
    <option value="2">Image 2</option>
    <option value="3">Image 3</option>
    <option value="4">Image 4</option>
    <option value="5">Image 5</option>
    <option value="6">Image 6</option>
    <option value="7">Image 7</option>
    <option value="8">Image 8</option>
    <option value="9">Image 9</option>
</select><br />

<label>Change the Vinyl: </label>
<select id="vinyl" name="vinyl" onChange="callAFunction(this); return false;">
    <option value="1">Image 1</option>
    <option value="2">Image 2</option>
    <option value="3">Image 3</option>
    <option value="4">Image 4</option>
    <option value="5">Image 5</option>
    <option value="6">Image 6</option>
    <option value="7">Image 7</option>
    <option value="8">Image 8</option>
    <option value="9">Image 9</option>
</select>

</form>
</body>
</html>

最佳答案

paint.value 不存在。使用 document.getElementById("paint").value 代替。与 vinyl.value 相同。

关于javascript - 添加表单标签时出现未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38299845/

相关文章:

javascript - nodejs - jsdom 模块在 require 期间返回 isContext() 错误

javascript - 有没有办法优化 "addEventListener"代码块?

javascript - 清除 Canvas 的特定上下文

javascript - 在 Qualtrics 中使用运行时数据实时执行简单的数学运算

javascript - 函数内部构建的对象数组存在类型问题

java - 使用 JSPDF 在客户端生成 PDF

javascript - 在fabricjs中缩放图像后无法保留圆圈的位置

javascript - Bootstrap 滚动 Spy 没有突出显示正确的部分

jquery - 从一个级别的 2 列设置相似的 div

javascript - 图片淡入淡出($未定义)