未捕获的TypeError:对象[对象DOMWindow]的属性不是函数

时间:2012-02-12 09:21:29

标签: javascript callback typeerror

在qm150_submit $ .post中的ajax调用后的回调.... 我想调用另一个名为'send_email'的函数(它也有一个名为'success_callback'的回调

调用send_email但我收到此错误:

Uncaught TypeError: Property 'send_email' of object [object DOMWindow] is not a function

这是参考错误吗?我需要做些什么来设置.this可能是什么?

使用colorbox iframe调用

函数qm150_submit()。我不确定这与它有什么关系吗?

这是代码:

function qm150_submit($title, $name, $email, $description, $send_email) {

  $.post('<?PHP print API_SUBMIT; ?>', { "title": $title, "name": $name, "email": $email, "description": $description },
    function (data) {          // callback function after API_SUBMIT

    // Send email with a link to their collection
      if ($send_email) {

        // parameters for the send_email() ajax function

        var subject = "subject";
        var collection_id = data.collection_id;  // data is json returned from the ajax above
        var toEmail = $email
        var message = "<?PHP print SHARE_COLLECTION;?>"+collection_id;
        var fromEmail = "<?PHP print EMAIL_FROM_EMAIL; ?>";
        var fromName = "<?PHP print EMAIL_FROM_NAME; ?>";

        var success_callback = function (results) { 
          alert('send_email has returned with: '+results);
        };

        alert('I am now calling the send_email');
        send_email(fromName,fromEmail,toEmail,subject,message,success_callback);

      }
    });
        // missing a curly bracket ? no! note  double indentation of the anonymous function (data) is a continuation of first statement
}

和send_email()的代码

function send_email(fromName,fromEmail,toEmail,subject,message,success_callback) {
  alert('send_email called');
  $.ajax({
    type: 'post',
    url: '<?PHP print API_SHARE_EMAIL;?>',
    data: 'fromName=' + fromName + '&fromEmail=' + fromEmail + '&toEmail=' + toEmail + '&subject=' + subject + '&message=' + message,
    dataType:'json',
    success: success_callback
  });
  alert('send_email finished');
  return true;
}

1 个答案:

答案 0 :(得分:0)

而不是

function () {send_email(fromName,fromEmail,toEmail,subject,message,success_callback) };

只需调用该函数。

send_email(fromName,fromEmail,toEmail,subject,message,success_callback);