【问题标题】:Uncaught ReferenceError with: var not definedUncaught ReferenceError with: var not defined
【发布时间】:2013-12-25 22:50:58
【问题描述】:

我有一张表格,其中包含您可以赞成和反对的城市。根据您单击哪个按钮,隐藏的输入会采用这个或那个值,我通过 javascript 管理它。但是函数调用好像有问题。

这是 HTML:

<td><span class="icon icon-thumbs-down cursor" onclick="downvote(Hamburgo, 24)"></span></td>

这里是虚拟函数:

function upvote(ciudad, user_id)
{
    document.write("aa"); // this doesn't even work
    //$("#voto-positivo").attr("value", ciudad);
    //$("#usuario").attr("value", user_id);
    //$('#form-votar').submit();
}

function downvote(ciudad, user_id)
{
    $("#voto-negtivo").attr("value", ciudad);
    $("#usuario").attr("value", user_id);
    $('#form-votar').submit();
}

函数的第一个值是在一个 php 循环中获取的,第二个是用户的 id,一切正常。

使用谷歌浏览器时出现以下错误:

Uncaught ReferenceError: Hamburgo is not defined votar:59

点击

如果需要说,是的,javascript源已加载。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    您需要将 Hamburgo 括在引号中,否则它会在您没有的全局范围内寻找具有该名称的变量,并且您会收到此错误。

    onclick="downvote('Hamburgo', 24)"
    

    只需使用val

    function downvote(ciudad, user_id){
        $("#voto-negtivo").val(ciudad);
        $("#usuario").val(user_id);
        $('#form-votar').submit();
    }
    

    附带说明,避免使用内联处理程序并通过 javascript 注册事件。

    例子:

    <td>
       <span class="icon icon-thumbs-down cursor" data-ciudad = "Hamburgo" data-userid="24">
       </span>
    </td>
    

     $(function(){
       $('.icon-thumbs-down').click(function(){
            var $this = $(this);
            $("#voto-negtivo").val($this.data('ciudad'));
            $("#usuario").val($this.data('userid'));
            $('#form-votar').submit();
       });
     });
    

    【讨论】:

    • 呃……就是这样……非常感谢,我自己永远也想不通。关于你的旁注,那我还应该做什么呢?
    • @dabadaba 欢迎您。我也在我的答案中放置了旁注示例代码。
    • @PSL 我认为他必须稍等片刻才能回答他的问题。
    猜你喜欢
    • 2017-08-06
    • 1970-01-01
    • 2017-06-07
    • 2018-01-02
    • 1970-01-01
    • 2015-12-24
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    相关资源
    最近更新 更多