2011-10-30 3 views
1

私は機能今私はこのようjqueryを通して他のページにjavascript変数の値を送るには?

function comment() 
{ 
    var x=document.forms["myForm"]["name"].value; 
    var y=document.forms["myForm"]["email"].value; 
    var z=document.forms["myForm"]["message"].value; 
    alert("the name is " + x); 
    postRequest("comment.php?name=" + x +"&email="+ y +"&message="+ z); 
} 

変数X、Y、Zが最後にform.alert関数から値を取得しているが、1本のラインが動作しているこの機能を使用しています

function postRequest(strURL) 
    { 
    $.ajax({ 
     type: "POST", 
     url: strURL,  
     success: function(data){ 
      updatePage(data); 
     } 
    }); 
    } 

を持っています私はcomment.phpここ

+0

は、AJAXリクエストがまったく発生しません、またはあなたが 'comment.php'で正しい値が表示されない。これは本当に良い本を見てみることができますか? –

+0

すべての情報がURLに渡される場合は、HTTP GETを使用することもできます。 – supertopi

答えて

0

に値を送信することはできませんwell.butは、作業コードです:

<!DOCTYPE html> 
<html> 
    <head> 
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> 
     <script> 
      function postRequest(server, dataToSend) 
      { 
       $.ajax({ 
        url: server, 
        data: dataToSend, 
        type: "POST", //If you want to make a GET just change it here. 
        success: function(data){ 
         //updatePage(data); 
         $("#result").append(data); 
        } 
       }); 
      } 

      function comment(e) 
      { 
       var x=document.forms["myForm"]["name"].value; 
       var y=document.forms["myForm"]["email"].value; 
       var z=document.forms["myForm"]["message"].value; 
       postRequest("comment.php", {name : x, email : y, message:z }); //Send the url of the server, and the data 
       //Stop the default form submit 
       return false; 
      } 

      $(document).ready(function() { 
       $('#myForm').submit(comment); 
      }); 
     </script> 
    </head> 
    <body> 
     <form id="myForm" name="myForm" method="GET" action="."> 
      <input type="text" name="name" /> <br /> 
      <input type="text" name="email" /> <br /> 
      <input type="text" name="message" /> <br /> 
      <input type="submit" value="search"/> 
     </form> 
     <div id="result"> 
      <h1>Data returned:</h1> 
     </div> 
    </body> 
</html> 
より多くのあなたが私たちに示されたもののようなコードがありますが、私はjavascriptのコード改善するためにいくつかの提案が持っている10

:あなたはまだ一般的ではjQueryを使ってAjaxやJavaScriptの詳細を知りたい場合は

function postRequest(e) 
      { 
       $.ajax({ 
        url: "comment.php", 
        data: $('form#myForm').serialize(), 
        type: "POST", //If you want to make a GET just change it here. 
        success: function(data){ 
         //updatePage(data); 
         $("#result").append(data); 
        } 
       }); 
       //Stop the default form submit 
       return false; 
      } 

      $(document).ready(function() { 
       $('#myForm').submit(postRequest); 
      }); 

をお

http://jqfundamentals.com/book/index.html#chapter-7

+0

これは単純にうまくいった... :) –

+0

この行を私に説明してもらえますか... $( '#myForm')。submit(comment); このような関数 "comment"を呼び出すことができますか? –

+0

$( '#myForm')。submit(comment)フォームにsubmitイベントをバインドしています.jquery APIをhttp://api.jquery.com/submit/にチェックインすると、ハンドラ関数を渡すことができますこの場合、私たちのハンドラ関数は、コールバックとして扱われるコメント関数です。これは、ハンドラ関数が代入時に呼び出されず、送信イベントの実行時に呼び出されることを意味します。イベントの仕組みを詳しく見てくださいhttp://jqfundamentals.com/book/index.html#chapter-5回答があなたの質問を解決した場合は、受け入れボタンをクリックして受け入れてください – ElHacker

関連する問題