2013-08-22 41 views
0

Heys guys,我一直在玩這個ajax電話幾天。我之前發佈了一個沒有變量的電子郵件,但現在我無法接到調用提交變量或不提供變量的形式。這裏是我的代碼:使用ajax發送信息至submit.php

 <form id="contactform" method="post" action="submit.php"> 

      <input type="text" placeholder="Name" name="username" id="username" /> 

      <input type="email" placeholder="Your Email Address" name="email" id="email" /> 

      <input type="button" id="submit" class="submit" value="submit"></a> 

     </form> 

AJAX:

<script type="text/javascript"> 
    $("#submit").click(function(event){ 
    var data = $('#contactform').serialize(); 
    event.preventDefault(); 
    $.ajax({ 
     url: "submit.php", 
     type: "POST", 
     data: data, 
     success: function() {       
      alert("Success!");   
     } 
     }); 
    return false; 
    }); 
}); 
</script> 

submit.php:

<?php 
    $from = "[email protected]"; 
    $usersubject = "Thank You!"; 
    $usermessage = "Thank you for signing up!"; 
    $to = $_REQUEST['email']; 
    $subject = "Form Info"; 
?> 

<?php 
    $name = $_REQUEST['username']; 
    $email = $_REQUEST['email']; 
    $message = "Name: $name 
    Email: $email"; 
    $headers = "From:" . $from; 
    //mail($to,$subject,$message,$headers); 
    mail($email,$usersubject,$usermessage,$headers); 
    echo 'Success'; 
?> 

當你直接用變量來訪問它(submit.php工作www.website.com /submit.php?username=Dave & [email protected])。在這裏有一個錯誤,我錯過了嗎?任何幫助表示讚賞!

+0

這一個額外的'});',是不是因爲你錯過了包括'的document.ready '在這個問題中,或者這是如何在你的實現? – vee

回答

0

這是你想要的,但你應該瞭解Json。 數據= { 「名」: 「詹姆斯·邦德」, 「電子郵件」: 「[email protected]」 }

0

如果不使用文檔準備好塊:

$(document).ready(function() { 
    // your code here 
}); 

然後請確保您將JavaScript代碼放在關閉正文標記()之前。 否則,如果您將JavaScript放在標題中而沒有準備好文檔,那麼在提交按鈕出現在頁面上之前將執行javascript代碼,因此$('#submit')選擇器將返回零元素。

0

HTML:

 <form method="post" action="submit.php"> 

    <input type="text" placeholder="Name" name="username" id="username" /> 

    <input type="email" placeholder="Your Email Address" name="email" id="email" /> 

    <input type="button" onClick="submit()" value="submit"></a> 

    </form> 

AJAX:

 <script type="text/javascript"> 
    function submit(){ 
    var user = document.getElementById("username").value; 
    var email = document.getElementById("email").value; 
    $.ajax({ 
    url: "submit.php", 
    type: "POST", 
    data: {uname:user,email:email}, 
    success: function() {       
     alert("Success!");   
    } 
     }); 
    return false; 
    } 
    </script> 

PHP:

 <?php 
    $from = "[email protected]"; 
    $usersubject = "Thank You!"; 
    $usermessage = "Thank you for signing up!"; 
    $to = $_POST['email'];//one that assigned to data in ajax 
    $subject = "Form Info"; 
     ?> 

    <?php 
    $name = $_POST['uname']; //one that assigned to data in ajax 
    $email = $_POST['email'];//one that assigned to data in ajax 
    $message = "Name: $name 
    Email: $email"; 
    $headers = "From:" . $from; 
    //mail($to,$subject,$message,$headers); 
    mail($email,$usersubject,$usermessage,$headers); 
    echo 'Success'; 
    ?>