2012-01-16 20 views
1

私は自分のウェブサイトのための簡単な連絡フォームを作ろうとしているので、Code Canyonから1つ買った。著者から遅く、不十分な助けを得られなかった後、皆さんに助けを求めています。AJAX PHPフォームはデータを再送信できません/常に電話番号で停止します。フィールド

基本的には非常にシンプルな連絡フォームですが、コーディングにはあまり適していないので、私を気にすることはありません。これはHTMLコードです。

<div id="contact" class="clearfix"><!-- contact --> 

<h1><img name="logo" src="" width="300" height="50" alt="" style="background-color: #3366FF" /></h1><p class="txn">Lorem ipsum dim sum sum.</p> 

     <div id="message"></div> 

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

     <fieldset> 

     <legend>Please fill in the following form to contact us</legend> 

     <label for=name accesskey=U><span class="required">*</span> Your Name</label> 
     <input name="name" type="text" id="name" size="30" value="" /> 

     <br /> 
     <label for=email accesskey=E><span class="required">*</span> Email</label> 
     <input name="email" type="text" id="email" size="30" value="" /> 

     <br /> 
     <label for=phone accesskey=P><span class="required">*</span> Phone</label> 
     <input name="phone" type="text" id="phone" size="30" value="" /> 

     <br /> 
     <label for=subject accesskey=S>Subject</label> 
     <select name="subject" type="text" id="subject"> 
      <option value="Support">Support</option> 
      <option value="a Sale">Sales</option> 
      <option value="a Bug fix">Report a bug</option> 
     </select> 

     <br /> 
     <label for=comments accesskey=C><span class="required">*</span> Your comments</label> 
     <textarea name="comments" cols="40" rows="3" id="comments" style="width: 350px;"></textarea> 

     <p><span class="required">*</span> Are you human?</p> 

     <label for=verify accesskey=V>&nbsp;&nbsp;&nbsp;3 + 1 =</label> 
     <input name="verify" type="text" id="verify" size="4" value="" style="width: 30px;" /><br /><br /> 

     <input type="submit" class="submit" id="submit" value="Submit" /> 

     </fieldset> 

     </form> 

jQuery(document).ready(function(){ 

$('#contactform').submit(function(){ 

    var action = $(this).attr('action'); 

    $("#message").slideUp(450,function() { 
    $('#message').hide(); 

    $('#submit') 
     .after('<img src="assets/ajax-loader.gif" class="loader" />') 
     .attr('disabled','disabled'); 

    $.post(action, { 
     name: $('#name').val(), 
     email: $('#email').val(), 
     phone: $('#telephone').val(), 
     subject: $('#enquiry').val(), 
     comments: $('#message').val(), 
    }, 
     function(data){ 
      document.getElementById('message').innerHTML = data; 
      $('#message').slideDown('fast'); 
      $('#contactform img.loader').fadeOut('slow',function(){$(this).remove()}); 
      $('#contactform #submit').attr('disabled',''); 
      if(data.match('success') != null) $('#contactform').slideUp('slow'); 

     } 
    ); 

    }); 

    return false; 

    }); 

    }); 

を実質的に変わらない。そして、私は

<?php 

を得た接触のphpファイルがある私は、テンプレートで指定されたJavaScriptファイル... if(!$ _ POST)exit;

$name  = $_POST['name']; 
    $email = $_POST['email']; 
    $phone = $_POST['phone']; 
    $subject = $_POST['subject']; 
    $comments = $_POST['comments']; 
    $verify = $_POST['verify']; 

    if(trim($name) == '') { 
     echo '<div class="error_message">Attention! You must enter your name.</div>'; 
     exit(); 
    } else if(trim($email) == '') { 
     echo '<div class="error_message">Attention! Please enter a valid email address.</div>'; 
     exit(); 
    } else if(trim($phone) == '') { 
     echo '<div class="error_message">Attention! Please enter a valid phone number.</div>'; 
     exit(); 
    } else if(!is_numeric($phone)) { 
     echo '<div class="error_message">Attention! Phone number can only contain digits.</div>'; 
     exit(); 
    } else if(!isEmail($email)) { 
     echo '<div class="error_message">Attention! You have enter an invalid e-mail address, try again.</div>'; 
     exit(); 
    } 

    if(trim($subject) == '') { 
     echo '<div class="error_message">Attention! Please enter a subject.</div>'; 
     exit(); 
    } else if(trim($comments) == '') { 
     echo '<div class="error_message">Attention! Please enter your message.</div>'; 
     exit(); 
    } else if(trim($verify) == '') { 
     echo '<div class="error_message">Attention! Please enter the verification number.</div>'; 
     exit(); 
    } else if(trim($verify) != '4') { 
     echo '<div class="error_message">Attention! The verification number you entered is incorrect.</div>'; 
     exit(); 
    } 

    if($error == '') { 

     if(get_magic_quotes_gpc()) { 
      $comments = stripslashes($comments); 
     } 


    // Configuration option. 
    // Enter the email address that you want to emails to be sent to. 
    // Example $address = "[email protected]"; 

    //$address = "[email protected]"; 
    $address = "[email protected]"; 


    // Configuration option. 
    // i.e. The standard subject will appear as, "You've been contacted by John Doe." 

    // Example, $e_subject = '$name . ' has contacted you via Your Website.'; 

    $e_subject = 'You\'ve been contacted by ' . $name . '.'; 


    // Configuration option. 
    // You can change this if you feel that you need to. 
    // Developers, you may wish to add more fields to the form, in which case you must be sure to add them here. 

    $e_body = "You have been contacted by $name with regards to $subject, their additional message is as follows.\r\n\n"; 
    $e_content = "\"$comments\"\r\n\n"; 
    $e_reply = "You can contact $name via email, $email or via phone $phone"; 

    $msg = $e_body . $e_content . $e_reply; 

    if(mail($address, $e_subject, $msg, "From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n")) { 


    // Email has sent successfully, echo a success page. 

    echo "<fieldset>";   
    echo "<div id='success_page'>"; 
    echo "<h1>Email Sent Successfully.</h1>"; 
    echo "<p>Thank you <strong>$name</strong>, your message has been submitted to us.</p>"; 
    echo "</div>"; 
    echo "</fieldset>"; 

    } else { 

    echo 'ERROR!'; 

    } 

} 

    function isEmail($email) { // Email address verification, do not edit. 

    return(preg_match("/^[-_.[:alnum:]][email protected]((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i",$email)); 

} >

問題です:?さんは、私は、フォームを埋めると言うが、中に私の名前を置くことを忘れてみましょうフォームが、私はそれを忘れてしまった私に通知されますが、私はそれを投稿することができません。 、私はページを更新する必要があります。また、フォームを完全に入力しても「有効な電話番号を入力してください」というエラーが表示され続けます。

どのように動作させるのですか? You can view the form here

答えて

0
  1. あなたの送信ボタンがデータを投稿した後に無効になっている -

    場合、私は、フォームはここにどのように見えるか確認し、正しくここで何かを投稿しませんでした。そのため、あなたはそれを再投稿できません。

$( '#contactform #submit')。attr( 'disabled'、 '');

  1. 入力フィールドの正しいIDを使用します。

電話:$( '#電話')のval()、

このIDを持つコンポーネントのエラーの

+0

ありがとう!送信ボタンのattrを有効に変更しました。しかし今、私は取得してください。 – Mulo

0

その同じ種類が存在しないので、これは常にnullになります。 IDの問い合わせやメッセージの要素はありません。

件名:$( '#照会')のval()、 コメント:。。$( '#メッセージ')のval()、

取得しているときに、あなたのHTMLコンポーネントの名前とIDについて確認してください値

ありがとうございました

関連する問題