2011-08-02 20 views
1

私はweb.py URLを作成しましたが、2つのテキストボックス(送信ボタンなし)しか提供していません。最初のテキストフィールドに数値を入力すると、値を別のURLにポストする必要があります。 AJAX post()を使用して、2番目のURLにデータを投稿します。 2番目のURLは私が投稿したデータを返すべきで、2番目のテキストボックスに表示されるはずです。キーアップ機能とAJAX post()メソッドを使用してこの問題を解決するにはどうすればよいですか?私はpost()メソッドでたくさん試しましたが、適切な解決策を見つけることができませんでした。AJAXの.post()メソッドを使用して別のURLにデータを投稿します

+2

あなたが試している特定のコードを提供することは、常に良いことです。 – Andrea

+0

この質問には何か怪しいものがあります。助けを求める前に、JavaScriptを10行試してみるのは難しくありません。特に、jQueryはよく書かれています(http://api.jquery.com/jQuery.post/)。 – Helgi

答えて

1

は試してみてください。この

$(function(){ 

    $("#textbox1").keyup(function(){ 
    if($(this).val()){ 
     $.post({ 
     url: "urlToPost", 
     data: { "textbox1": $(this).val() }, 
     success: function(data){//make sure the server sends only the required data 
      $("#textbox2").val(data); 
     } 
     }); 
    } 
    }); 
}); 
+0

web.py GET関数でコードを試しましたが、2番目のテキストボックスに結果を表示しています。 – Sreehari

+0

投稿はページから作成されていますか? – ShankarSangoli

+0

テキストボックスに何かを入力すると、そのページからのリクエストが表示されます。 FFを使用している場合はFirebugコンソールまたはNetタブをチェックするか、サーバサイドのコードを保持してブレークポイントを設定し、呼び出されたかどうかを確認してください。 – ShankarSangoli

1

あなたがこれまで持っているもの投稿してもらえますか?

$(document).ready(function() { 
    //Bind to keyup + change to account for Copy/Paste with mouse button. 
    $("#Textbox1Id").bind("keyup change", function() { 
     $.ajax({ 
      url: 'yoururl', 
      type: 'POST', 
      data: { value: $("#Textbox1Id").val() }, 
      dataType: "json", 
      beforeSend: function() { 
      }, 
      success: function (result) { 
       $('#Textbox2Id').val(result.value); 
      }, 
      error: function (result) { 
       //Handle error 
      } 
     }); 
     return false; 
    }); 
}; 

はシャンカールはそれを私にビート...その基本的に同じ答えはちょうどあなたがまた変更イベントをバインドすることを確認し、すべてのエラーを処理します。これは

例..前方かなりstraigthようです。

2

私はすべての提案をいただきありがとうございます。私は完全なコードをここに提案された変更を付けて添付しました。

import web 

urls = (
    '/', 'first','/home','second') 


app = web.application(urls, globals(), True) 


class first: 

    def GET(self): 
     return''' 
     <html> 
     <head> 
     <script type="text/javascript"src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js"></script> 
     <script type="text/javascript"> 

     $(document).ready(function(){ 
      $("#text1").keyup(function(){ 
      var txt = $("#text1").val(); 
       $.post(
       "http://127.0.0.1:8080/home", 
       {text1 : txt}, 
       function(result){ 
       $("#text2").val(result); 
       }); 
      }); 
     }); 
     </script> 
     </head> 
     <body> 
     Enter your text here : <input type="text" id="text1" name="text1"/> 
     You entered   : <input type="text" id="text2"/> 
     </body> 
     </html>''' 

class second: 

    def GET(self): 
     return "Entered value goes here" 

    def POST(self): 
     i = web.input() 
     n = i.text1 
     return n 


if __name__ == "__main__": 
    app.run() 
関連する問題