未捕获的TypeError:非法调用(chrome)

时间:2013-07-31 07:34:17

标签: javascript jquery

当用户点击按钮(onclick="Website.submit()")时,我正试图在JavaScript中调用函数,但我的代码不起作用。

我在Chrome中收到此错误:

  

未捕获的TypeError:非法调用

在Chrome中,此行在jquery.js中被列为错误来源:

// If value is a function, invoke it and return its value

value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value );

开发人员面板的控制台选项卡(F12)上的更详细错误:

Uncaught TypeError: Illegal invocation in Chrome

以下是代码:

var Website = {

  submit: function () {

    var stap1 = $('#stap1').val();
    var stap2 = $('#stap2').val();
    var stap3 = $('#stap3').val();
    var letop = $('#letop').val();

    if (stap1.length == 0) {
      $('#error2').show();
      $('#the_error2').html('Je moet alle velden invullen om door te gaan.');

      $('#stap1').css({
        'border-width': '1px',
        'border-color': 'red'
      });
    }

    if (stap2.length == 0) {
      $('#error2').show();
      $('#the_error2').html('Je moet alle velden invullen om door te gaan.');

      $('#stap2').css({
        'border-width': '1px',
        'border-color': 'red'
      });
    }

    if (stap3.length == 0) {
      $('#error2').show();
      $('#the_error2').html('Je moet alle velden invullen om door te gaan.');

      $('#stap3').css({
        'border-width': '1px',
        'border-color': 'red'
      });
    }

    if (letop.length == 0) {
      $('#error2').show();
      $('#the_error2').html('Je moet alle velden invullen om door te gaan.');

      $('#letop').css({
        'border-width': '1px',
        'border-color': 'red'
      });
    }

    if (stap1.length !== 0 && stap2.length !== 0 && stap3.length !== 0 && letop.length !== 0) {

      $.post(General.url + "/pages/website_check.php", {
        naam: naam,
        subdomein: subdomein,
        stap1: stap1,
        stap2: stap2,
        stap3: stap3,
        letop: letop
      }, function (result) {

        if (result == 1) {
          $('#error2').show();
          $('#the_error2').html('Deze naam is al in gebruik. Ga snel terug en kies een andere.');

          $('#error').show();
          $('#the_error').html('Deze naam is al in gebruik. Kies een andere.');

          $('#naam').css({
            'border-width': '1px',
            'border-color': 'red'
          });

        } else {
          if (result == 2) {
            $('#error2').show();
            $('#the_error2').html('Dit subdomein is al in gebruik. Ga snel terug en kies een andere.');

            $('#error').show();
            $('#the_error').html('Dit subdomein is al in gebruik. Kies een andere.');

            $('#subdomein').css({
              'border-width': '1px',
              'border-color': 'red'
            });
          }
        }
      });
    }
  }

};

1 个答案:

答案 0 :(得分:0)

只是评论该行 value = jQuery.isFunction(value)? value():( value == null?“”:value); 在jQuery.js。

add = function( key, value ) {
        // If value is a function, invoke it and return its value
        //value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value );
        s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value );
    };