Javascript 方法做了正确的事情,但它没有';不使用方法

Javascript 方法做了正确的事情,但它没有';不使用方法,javascript,jquery,asp.net-mvc-4,Javascript,Jquery,Asp.net Mvc 4,这可能是一个不可能回答的问题,但我会尽力为您提供大量信息,以便您可能知道问题所在,也可能您以前也遇到过同样的问题 我有一个使用此方法序列化的表单: //Sends a serialized string with all form keys from DementiaPrototype to RiskScore-view $(document).on("click", "#btnsubmit", function () { if (validateForm() == true) { //a

这可能是一个不可能回答的问题,但我会尽力为您提供大量信息,以便您可能知道问题所在,也可能您以前也遇到过同样的问题

我有一个使用此方法序列化的表单:

//Sends a serialized string with all form keys from DementiaPrototype to RiskScore-view
$(document).on("click", "#btnsubmit", function () {
  if (validateForm() == true) { //a method for validating the form
    if (validatepersonid() == true) { //a method for validating the form
      if(validatenr() == true){ //a method for validating the form
        $("#PersonBMI").removeAttr('disabled');
        $.ajax({
          url: "/Home/RiskScore",
          type: "post",
          data: $("form").serialize(),
          success: function(result) {
            $('.content-wrap').html(result);
            //calls the functions that animates the thermometer on page loaded
            countScore();
            countScores();
          }
        });
      }
    }
  }
});

成功后的两种方法countScore();和countScores();将从表格中获取大量输入值,并进行一些计算,然后在下一页的温度计中显示。除了文本框的一些不同用法外,它们看起来几乎一样。问题是countScores()做了它应该做的事情,但我无法调试它。countScore()什么都不做,我也无法调试它。我无法调试它的方式是,它只是不使用该方法,也不进行调试。这很奇怪,我就是解决不了问题:我公司没有人知道发生了什么。我已删除所有缓存,因此不会出现问题(如果可能)。

请确保取消表单的默认操作,以防止浏览器重定向到别处:

$(document).on("click", "#btnsubmit", function (e) {
    e.preventDefault();

    ... your code comes here
});

与问题无关,但您可能希望用一个
if(validateForm()&&validatepersonid()&&validateenr())替换三个if
。您不能调试它是什么意思?如果在两个方法中都创建了console.log,它们是否都不会显示?也许您应该在响应的html中提供$(window.load(function(){})javascript,而不是在suces函数中,您的两个方法是否在外部js文件中?这是我通常会设置调试位置的方式,在那里它应该停止,但是没有使用方法。但同时,其中一个方法做了它应该做的事情,因此它必须以某种方式位于方法内部。您确实需要将这一点带回基础-从
控制台开始。记录成功的情况(删除任何其他代码)。一旦你对此感到满意,开始重新引入回调中的每一行代码,直到您发现是哪一行引入了问题。我通过在代码中乱发console.log解决了问题:P但我仍然觉得奇怪,我无法调试该方法并以这种方式找到错误?这是传递给单击处理程序的匿名函数的参数:
$(文档)。在(“单击”、“#btnsubmit”上,函数(e){
是否正在发送AJAX请求?服务器响应什么?分析FireBug中的AJAX请求,以了解其可能失败的原因。