0

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

我在 Chrome 中收到此错误:

未捕获的类型错误:非法调用

在 Chrome 中,这一行被突出显示jquery.js为错误的来源:

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

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

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

未捕获的 TypeError: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'
            });
          }
        }
      });
    }
  }

};
4

1 回答 1

0

只需注释行 value = jQuery.isFunction( value ) ?价值():(价值==空?“”:价值);在 jQuery.js 中。

IE

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 );
    };
于 2014-09-15T07:57:01.487 回答