Php ajax表单警报(jQuery)

Php ajax表单警报(jQuery),php,jquery,ajax,forms,joomla,Php,Jquery,Ajax,Forms,Joomla,我对ajaxform有问题。 我有一个名为captcha.php的php文件,它会生成一个验证码: <?php session_start(); $random_number = rand(1,9).rand(1,9).rand(1,9).rand(1,9).rand(1,9).rand(1,9); $_SESSION['captcha_text'] = $random_number; $captcha_image = imagecreatefromjpeg("captcha.jpg

我对ajaxform有问题。 我有一个名为captcha.php的php文件,它会生成一个验证码:

<?php
session_start();

$random_number =  rand(1,9).rand(1,9).rand(1,9).rand(1,9).rand(1,9).rand(1,9);
$_SESSION['captcha_text'] = $random_number;

$captcha_image = imagecreatefromjpeg("captcha.jpg");
$font_color = imagecolorallocate($captcha_image, 0, 0, 0);
imagestring($captcha_image, 5, 20, 5, $random_number, $font_color);
imagejpeg($captcha_image);
imagedestroy($captcha_image);
?>

我有另一个名为pro.php的php文件,它在action表单上执行,并发送一封包含表单数据的电子邮件:

<?php
session_start();
@extract($_POST);
$sub = "Curriculum di: ".stripslashes($name);
$message = stripslashes($messaggio);
$fromail = stripslashes($email);
$attachment = chunk_split(base64_encode(file_get_contents($_FILES['file']['tmp_name'])));
$filename = $_FILES['file']['name'];
$boundary =md5(date('r', time())); 
$headers = "From: ".$fromail;
$headers .= "\r\nMIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary=\"_1_$boundary\"";
$message="This is a multi-part message in MIME format.
--_1_$boundary
Content-Type: multipart/alternative; boundary=\"_2_$boundary\"
--_2_$boundary
Content-Type: text/plain; charset=\"iso-8859-1\"
Content-Transfer-Encoding: 7bit
$message
--_2_$boundary--
--_1_$boundary
Content-Type: application/octet-stream; name=\"$filename\" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment 
$attachment
--_1_$boundary--";
if(isset($_POST['txtCaptcha']) and $_POST['txtCaptcha'] !='')
   if($_SESSION['captcha_text'] == $_POST['txtCaptcha'])
       mail('myemail@myemail.it', $sub, $message, $headers);
?>

现在,我想显示电子邮件是否正确发送的警报:

<script> 
  $(document).ready(function() { 
    $('#myFormId').ajaxForm(function() {
          //Instructions to enter
    }); 
  }); 
</script> 

$(文档).ready(函数(){
$('#myFormId').ajaxForm(函数(){
//进入指示
}); 
}); 

解决办法是什么?(很抱歉我的英语不好)

您必须呼叫成功参数:

$("your-form").ajaxForm({
    success: function(res, status, xhr, form) {
        // ... call the alert
    }
});

很好的编码。

首先:如果(设置($\u POST['txtCaptcha'])和$\u POST['txtCaptcha']!='')如果($\u会话['captcha\u text']==$\u POST['txtCaptcha'])回送邮件('myemail@myemail.it“,$sub,$message,$headers);?>然后使用jquery中的$.ajax,但在我的例子中,无论验证码是否正确,都会发送表单;验证码检查是在pro.php文件中完成的,因此您的代码不会总是激活警报?因为表单总是被发送的。如果你回显邮件()函数。ajax将使用mail()值以res表示。(1)如已发送,则。。只需询问res是否为==1,则邮件已发送,如果电子邮件未发送,则为0