首页 > 解决方案 > email() 不是通过 onclick 属性实现的功能

问题描述

有人可以帮帮我吗?我错过了一些非常明显的东西吗?我似乎无法调用我的函数来运行我的 ajax 调用。非常感谢任何帮助。谢谢

HTML:

这只是我的 html 的片段,因为表单太长而无法显示并且与所有标题相同。

$(document).ready(function() {
  function email() {

    var emailUrl = "../assets/php/email_form_processing.php";

    $.ajax({
      url: emailUrl,
      method: 'post',
      data: $('#email_form').serialize(),
      datatype: 'json',
      success: function(result) {
        if (result) {
          alert("Email sent successfully");
        } else {
          alert("Failed!");
        }

      },
      error: function(error) {
        alert(error);
      }
    });
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="js/main.js"></script>

<form id="email_form" method="POST" enctype="multipart/form-data">
  <input type="button" id="email_submit" name="sendmail" class="btn btn-info" value="Send" onclick="email()">
</form>

标签: javascriptjqueryhtmlajax

解决方案


不需要$(document).ready(function() {(因为它使该功能在就绪功能之外不可用)

您的功能应该如下所示

function email(){
 // your code here
}

此外,如果您使用的是 jQuery,请尝试如下

$(document).ready(function() {
    $("#email_submit").click(function(event){
         // your code here
   });

});


推荐阅读