2017-09-09 10 views
0

私は何が間違っているのかよく分かりません。しかし、Submitをクリックしても何も起こりません。私はUIのためにマテリアライズCSSを使用しています。AjaxとPHPで作成されたフォームのSubmitボタンをクリックしても何も起こりません

<div id="modal-contact" class="modal"> 
    <div class="modal-content"> 
     <h5 class="center">Get in touch</h5> 
     <div class="row"> 
      <form id="contact" method="post" class="col s12"> 
       <div class="row"> 
        <div class="input-field col s12 m12 l4"> 
         <input id="first_name" type="text" class="validate"> 
         <label for="first_name">First Name</label> 
        </div> 
        <div class="input-field col s12 m12 l4"> 
         <input id="last_name" type="text" class="validate"> 
         <label for="last_name">Last Name</label> 
        </div> 
        <div class="input-field col s12 m12 l4"> 
         <input id="phone" type="tel" class="validate" maxlength="10" minlength="10"> 
         <label for="phone">Phone</label> 
        </div> 
        <div class="input-field col s12"> 
         <input id="email" class="validate" type="email"> 
         <label for="email">Email Address</label> 
        </div> 
        <div class="input-field col s12"> 
          <textarea id="message" class="materialize-textarea validate"></textarea> 
          <label for="message">How can we help?</label> 
        </div> 
       </div> 
      </form> 
      <div class="hide" id="msgSubmit"></div> 
     </div> 
     <div class="modal-footer"> 
      <button class="btn waves-effect light-green accent-4" type="submit">Submit <i class="material-icons right">send</i></button> 
     </div> 
    </div> 

私はまた次のようにしているのAjaxを使用しています:

$(function(){ 
    $("#contact").on("submit", function(e){ 
     e.preventDefalut(); 
     submitForm(); 
    }); 
}); 

function submitForm() { 
    var fname = $("#first_name").val(); 
    var lname = $("#last_name").val(); 
    var phone = $("#phone").val(); 
    var email = $("#email").val(); 
    var message = $("#message").val(); 

    $.ajax({ 
     type: "POST", 
     url: "contact.php", 
     data: "fname=" + fname + "&lname=" + lname + "&phone=" + phone + "&email=" + email + "&message=" + message, 
     sucess : function(text) { 
      if(text == "success") { 
       formSuccess(); 
      } else { 
       formError(); 
       submitMSG(false, text); 
      } 
     } 
    }); 
}; 

function formSuccess() { 
    $("#contact")[0].reset(); 
    submitMSG(true, "We have received your message and would like to thank you for writing to us. If your inquiry is urgent, please use the telephone number to contact us") 
} 

function formError() { 
    $("#contact").removeClass().addClass(), function() { 
     $(this).removeClass(); 
    } 
} 

function submitMSG(valis, MSG) { 
    if(valid) { 
     var msgClasses = "h3"; 
    } else { 
     var msgClasses = "h3"; 
    } 
    $("#msgSubmit").removeClass.addClass(msgClasses).text(msg); 
} 

そして最後にPHPコード

<?php 
$errroMSG = ""; 

if (empty($_POST["fname"])) { 
    $errorMSG = "First Name is required "; 
} else { 
    $fname = $_POST["fname"]; 
} 

if (empty($_POST["lname"])) { 
    $errorMSG = "Last Name is required "; 
} else { 
    $lname = $_POST["lname"]; 
} 

if (empty($_POST["phone"])) { 
    $errorMSG = "Phone is required "; 
} else { 
    $phone = $_POST["phone"]; 
} 

if (empty($_POST["email"])) { 
    $errorMSG = "Email is required "; 
} else { 
    $email = $_POST["email"]; 
} 

if (empty($_POST["message"])) { 
    $errorMSG = "Message is required "; 
} else { 
    $pmessage = $_POST["message"]; 
} 

$EmailTo = "[email protected]"; 
$Subject = "New message from United Constructions"; 

$Body .= "First Name: "; 
$Body .= $fname; 
$Body .= "\n"; 

$Body .= "Last Name: "; 
$Body .= $lname; 
$Body .= "\n"; 

$Body .= "Phone: "; 
$Body .= $phone; 
$Body .= "\n"; 

$Body .= "Email: "; 
$Body .= $email; 
$Body .= "\n"; 

$Body .= "Message: "; 
$Body .= $message; 
$Body .= "\n"; 

$success = mail($EmailTo, $Subject, $Body, "From:".$email); 

if ($success && $errorMSG == ""){ 
    echo "success"; 
}else{ 
    if($errorMSG == ""){ 
     echo "Something went wrong :("; 
    } else { 
     echo $errorMSG; 
    } 
} 
?> 

をだから私はモーダルを開くことができていますし、詳細を充填した後、私はクリックしてください送信ボタンをクリックします。何も起こらない場合は、GoogleのreCaptchaをJSまたはPHPに追加する必要がある場合は、このフォームに追加することもできます。私はそれをPHPに追加するとJSファイルを変更する必要があります。回答をいただきありがとうございます。

+0

フォームアクション –

+0

がありません。しかし、私はアヤックスを使用していますので、それが必要な私は、フォームを追加するためのものですアクション? – xxsoxx

+0

成功の代わりに成功をタイプしましたか? – Hissvard

答えて

0

それだけでは上記のコードのあなたのAjaxの一部置き換える/変更する簡単です:

$(function(){ 
    $("#contact").on("submit", function(e){ 
     e.preventDefault(); 
     submitForm(); 
    }); 
}); 

へ:

$(function(){ 
    $("#contact").submit(function(e){ 
     submitForm(); 
     e.preventDefault(); 
    }); 
}); 
+0

あなたが要求どおりに変更を加えました..それはまだ動作していません – xxsoxx

関連する問題