所以我在index.php中有这个:
<script type='text/javascript' src='images/submit.js'></script>
在我的文件中:
$(document).ready(function() {
function sendEmail() {
console.log("function send email run");
var url = "sendemail.php";
$.ajax({
type: "POST",
url: url,
data: $("#emailform").serialize(),
success: function(data)
{
//alert(data);
document.getElementById("resultmsg").innerHTML = data;//$("#resultmsg").html(data);
}
});
return false;
}
});
我试图从(也是index.php)调用它:
<form name="emailform" action="" onsubmit="return sendEmail();" method="post">
但是我收到了这个错误:
TypeError: sendEmail is not a function
答案 0 :(得分:0)
您是名为submit.js
的Javascript文件,位于images
forder吗?
您不需要在sendEmail
函数中声明ready
函数,因为它不会在传递给ready
函数的匿名函数范围之外可用。只需要在ready
函数中调用依赖于HTML元素的函数,或者在html代码之后包含这些函数。
答案 1 :(得分:0)
你必须在 $(document).ready(function()
之外编写 sendEmail()函数使用当前代码,它仅在 $(文档).ready(function()函数
内可用答案 2 :(得分:0)
通过以这种方式声明sendEmail
作为全局变量:
$(document).ready(function() {
sendEmail = function () {
console.log("function send email run");
var url = "sendemail.php";
$.ajax({
type: "POST",
url: url,
data: $("#emailform").serialize(),
success: function(data)
{
//alert(data);
document.getElementById("resultmsg").innerHTML = data;//$("#resultmsg").html(data);
}
});
return false;
}
});
或将sendEmail
放在document.ready
函数之外:
function sendEmail() {
console.log("function send email run");
var url = "sendemail.php";
$.ajax({
type: "POST",
url: url,
data: $("#emailform").serialize(),
success: function(data)
{
//alert(data);
document.getElementById("resultmsg").innerHTML = data;//$("#resultmsg").html(data);
}
});
return false;
}