【发布时间】:2015-06-04 18:18:43
【问题描述】:
我在使用 ajaxForm 插件时遇到问题。我希望它在不离开页面的情况下向用户显示结果消息。
问题是,当我提交表单时,它没有将警报添加到 .jumbotron.modded(这是表单的 div 容器)中,而是导航到 supportForm.php 并仅显示回显的数字。
有时这确实很好用,但大多数时候它只是导航到 supportForm.php 。我不明白为什么它并不总是具有相同的行为。
这是 HTML 表单:
<form id="supportForm" action="supportForm.php" method="post" style="padding-top:10px">
<div class="form-group">
<input type="text" name="subject" id="subject" placeholder="Subject" class="form-control" required>
</div>
<div class="form-group">
<textarea class="form-control" rows="4" name="comment" id="comment" placeholder="Write your message here" required></textarea>
</div>
<button type="submit" class="btn btn-upload" style="margin-top:20px;float:right;" value="">SEND<img src="img/plus.png" style="margin-bottom:5px;padding-left:5px;" /></button>
</form>
这是 Javascript 代码:
window.onload = function()
{
$('#supportForm').ajaxForm({
success: function(res) {
console.log(res);
if(res=='1')
{
$(".jumbotron.modded").prepend('<div class="alert alert-success alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>Successfully sent. Thank you</div>');
}else{
switch(res)
{
case '0':
$(".jumbotron.modded").prepend('<div class="alert alert-danger alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>Error 1. Please contact mail@asd.com<</div>');
break;
case '-1':
$(".jumbotron.modded").prepend('<div class="alert alert-danger alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>Error 2. Please contact mail@asd.com<</div>');
break;
case '-2':
$(".jumbotron.modded").prepend('<div class="alert alert-danger alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>Error 3. Please contact mail@asd.com</div>');
break;
case '-3':
$(".jumbotron.modded").prepend('<div class="alert alert-danger alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>Error 4. Please contact mail@asd.com<</div>');
break;
}
}
}
});
}
这是 PHP 代码:
if ($row = $db->query("SELECT user FROM tblusers WHERE userId='".$fromId."'")->fetch_array())
{
$fromMail1 = $row['user'];
if($row2 = $db->query("SELECT name,lastname,email FROM tblprofile WHERE userId='".$fromId."'")->fetch_array())
{
$fromMail2 = $row2['email'];
$fromName = $row2['name']." ".$row2['lastname'];
if ($db->query("INSERT INTO tblSupports (supportTitle,supportComment,userId) VALUES ('".$title."','".$comment."','".$fromId."')"))
{
if(sendEmail($fromMail1,$fromMail2,$fromName,$titleClean,$commentClean))
{
echo 1;
}else{// (error 1)
echo 0;
}
}else{//(error 2)
echo -1;
}
}else{//(error 3)
echo -2;
}
}else{//(error 4)
echo -3;
}
我该如何解决这个问题?非常感谢
【问题讨论】:
-
您的 PHP 脚本中有什么?它发回了什么?
-
我刚刚编辑并添加了 php 脚本。它返回一个数字,如果成功则返回 1,否则返回 0 -1 -2 或 -3。 (它确实工作正常,所以它总是返回 1)@putvande
-
请发布您的 sendMail() 代码
标签: javascript php jquery ajax forms