我的JS函数不断获取" Uncaught ReferenceError:...未定义"甚至在包装成(文件).ready时

时间:2016-09-26 20:05:15

标签: javascript jquery

我试图在HTML表单中的选择输入类型上显示所选选项。

这是我的输入类型:

            <div id="selectorTemaMensaje" class="form-group"><label>&nbsp; Motivo del mensaje: </label>
                <select onchange="return opcionesMensaje();" required class="form-control" name="tema">
                    <option> </option>
                    <option data-tema="material" >Tengo problemas para acceder al material del curso</option>
                    <option data-tema="notaExamen" >Tengo problemas con la nota recibida en un examen</option>
                    <option data-tema="envioPago" >Quiero avisar de un pago que hice o saber si estoy debiendo alguna cuota</option>
                    <option data-tema="envioDoc" >Tengo problemas relacionados con el envío de la documentación solicitada</option>
                    <option data-tema="certificado" >Quiero saber cómo obtener mi certificado</option>
                    <option data-tema="docente" >Quiero preguntar a un docente por una duda con el material de una bolilla</option>
                    <option data-tema="otro" >Otro</option>
                </select>
            </div>
<span id="mostrar"></span>

这是我的JS:

$(document).ready(function(){
    function opcionesMensaje() {
        var sel = document.getElementById('select');
        var mostrar = document.getElementById('mostrar');
        sel.onchange = function(){
            var selected = sel.options[sel.selectedIndex];
            mostrar.innerHTML = selected.getAttribute('data-tema');
        };
        sel.onchange();
    }
}

我一直在

  

未捕获的ReferenceError:未定义opcionesMensaje

每次我尝试选择一个选项。

JS位于页脚调用的文件中。在查看页面源时我可以看到该文件。我之前调用了jQuery文件。

1 个答案:

答案 0 :(得分:3)

opcionesMensaje的范围不正确。它的范围是传递给$(document).ready的匿名函数。除非您将其附加到window全局对象,否则不应该在该级别访问它。尝试类似window.opcionesMensaje = function() { ... }

的内容