Uncaught TypeError: Property of object [object DOM

2019-08-26 11:40发布

on the call back after the ajax call in qm150_submit $.post .... I want to call a second function called 'send_email' (which also has a callback called 'success_callback'

the send_email is called but I get this error:

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

is this a reference error? do I need to do something to set what ever .this is perhaps??

function qm150_submit() is called from with an colorbox iframe. I'm not sure if that has anything to do with it ?

here is the code :

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
}

and the code for the 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条回答
相关推荐>>
2楼-- · 2019-08-26 12:15

Instead of

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

Just call the function.

send_email(fromName,fromEmail,toEmail,subject,message,success_callback);
查看更多
登录 后发表回答