2011-10-29 17 views
1

このコードが見つかりました。必要な方法で調整しようとしています。私は本当にjavascript/jqueryの知識がないので、私はいくつかの援助をしたいと思います。Jquery/Ajaxリクエストで受信したコンテンツを表示する

コード:

$(document).ready(function() { 

    //if submit button is clicked 
    $('#submit').click(function() {   

     //Get the data from all the fields 
     var name = $('input[name=name]'); 
     var email = $('input[name=email]'); 
     var website = $('input[name=website]'); 
     var comment = $('textarea[name=comment]'); 

     //Simple validation to make sure user entered something 
     //If error found, add hightlight class to the text field 
     if (name.val()=='') { 
      name.addClass('hightlight'); 
      return false; 
     } else name.removeClass('hightlight'); 

     if (email.val()=='') { 
      email.addClass('hightlight'); 
      return false; 
     } else email.removeClass('hightlight'); 

     if (comment.val()=='') { 
      comment.addClass('hightlight'); 
      return false; 
     } else comment.removeClass('hightlight'); 

     //organize the data properly 
     var data = 'name=' + name.val() + '&email=' + email.val() + '&website=' + 
     website.val() + '&comment=' + encodeURIComponent(comment.val()); 

     //show the loading sign 
     $('.loading').show(); 
     //start the ajax 
     $.ajax({ 
      //this is the php file that processes the data 
      url: "process.php", 

      //GET method is used 
      type: "POST", 

      //pass the data   
      data: data,  

      //Do not cache the page 
      cache: false, 

      //success 
      success: function (html) {    
          $('.loading').hide(); 
       //DISPLAY RECEIVED CONTENT FROM "process.php" IN DIV NAMED "done"  

      }  
     }); 

     //cancel the submit button default behaviours 
     return false; 
    }); 
}); 

これは私が成功部から取り出し以前のコードです:

success: function (html) {    
       //if process.php returned 1/true (send mail success) 
       if (html==1) {     
        //hide the form 
        $('.form').fadeOut('slow');     

        //show the success message 
        $('.done').fadeIn('slow'); 

       //if process.php returned 0/false (send mail failed) 
       } else alert('Sorry, unexpected error. Please try again later.');    
      } 

情報を取得する際、process.phpは「1」を応答すると、フォームを希望「完了」のテキストがフェードインします。

process.phpは基本的に:(テスト目的で受け取ったデータを返信します)

$name = ($_GET['name']) ? $_GET['name'] : $_POST['name']; 
$email = ($_GET['email']) ?$_GET['email'] : $_POST['email']; 
$website = ($_GET['website']) ?$_GET['website'] : $_POST['website']; 
$comment = ($_GET['comment']) ?$_GET['comment'] : $_POST['comment']; 

echo "$name<br>$email"; 

私はjavascript、jqueryについて何も知らないと言っていたので、どんな助けもありがたいです。

ありがとうございました。

+0

何が起こっているかを今、どうしたの? – hvgotcodes

答えて

1

もしあなたがhtmlを受信できたら、

私はあなたが myformは、フォームのIDです

$(':input','#myform') 
.not(':button, :submit, :hidden') 
.val('') 
.removeAttr('checked') 
.removeAttr('selected'); 

refを想定し、フォームをリセットする

echo $name."<br/>".$email; 

のようなものをエコーする必要があると思う

success: function (html) { 
$('.loading').hide(); 
$(".done").html(html).fadeIn('slow'); 
} 

Resetting a multi-stage form with jQuery

+0

これは素晴らしいことですが、フォームをリセットする方法も知っていますか?ありがとう – Go3Team

+0

答えを見る – Rafay

+0

もう一度ありがとう、それはそれをした。 – Go3Team

1

あなたは、PHP

を使用しているので、私はよく分からない。しかし、私はidがある可能性が高いだろうと思う:あなたの成功事例の機能

if (html=="1") { 

しかし、あなたは、PHPは返すようです1以外の何か:

echo "$name<br>$email"; 
関連する問題