【问题标题】:Javascript seems to get out of the control flowJavascript 似乎脱离了控制流
【发布时间】:2015-11-11 14:15:45
【问题描述】:

我有一个问题,我不知道如何解决它......在以下代码中 - 控件似乎永远无法到达changePage 命令!我猜这是addToGlobal函数中控制流的问题……这可能吗?

$(document).ready(function() {
var globalData = {};

    function addToGlobal(name, value) {
        globalData[name] = value;
    };

$('#tempform').submit(function (event) {

        event.preventDefault();
        console.log("preventDefault Temp")

        var form = $(this);

        // add to globalData
        addToGlobal("TemperatureU", form.data('clicked'));

        $.mobile.changePage('#page2', {transition: 'slide'});

    });

});

【问题讨论】:

    标签: javascript jquery controls


    【解决方案1】:

    您有一个小的语法错误。您在准备好处理程序的末尾缺少一个关闭 )。

    任何 JS 问题的第一步应该是检查控制台是否有任何错误消息。我运行了您的代码,并在控制台中看到语法错误,显示缺少括号。

    【讨论】:

    • 对不起,我没有复制整个代码,忘记将右括号放入 SO!所以我认为这不是错误!
    • 代码运行正常,但缺少 ),这意味着可能是 changePage 函数本身的问题。您是否在控制台中记录了任何错误?
    • 不是javascript的问题,而是它正在运行的cordova应用程序的问题......无论如何感谢您的帮助! :)
    【解决方案2】:

    addToGlobal 无法运行的唯一原因是form.data('clicked') 抛出错误。我建议添加更多的 console.logs 来看看到底发生了什么。

    console.log(form.data('clicked'));
    addToGlobal("TemperatureU", form.data('clicked'));
    console.log(globalData);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-16
      • 2015-06-04
      • 1970-01-01
      • 2021-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-13
      相关资源
      最近更新 更多