0

次の機能を持つ最初のクロム拡張機能を作成しています。ユーザーが画像を右クリックし、コンテキスト メニューで適切なフィールドを選択すると、フォームを含むポップアップ ウィンドウが作成されます。次の関数は、コンテキスト メニューから呼び出されます。

   function new_window(){chrome.windows.create({
                                   url: "reddit.html",
                                   type: "popup",
                                   focused: true,
                                   width: 200,
                                   height:140})

「reddit.html」に含まれるフォームは次のとおりです。

     <form id="post_on_forum" method="get">
         <input type="text" name="title" placeholder ="title"><br>
         <input type ="text" name="Category"placeholder ="Category" ></br>
         <input type="submit" value="Submit" id="submit">                   
     </form>

私の質問は次のとおりです。ユーザーが何かを送信するたびに入力する変数をJavascriptで取得するにはどうすればよいですか? Chrome ではインライン JavaScript が禁止されているため、インライン JavaScript は使用できません。私submit.js

$(document).ready(function() {
    $('#Submit').on('click',(function() {
       foo($('#post_on_forum').val());
    }));

    console.log("triggered");
}); 

しかし、うまくいきません。もちろん、すべての適切なファイルをマニフェスト ファイルに含めました。

4

2 に答える 2

3

この例を見てくださいhttp://jsfiddle.net/qt3ZB/

jQuery にはserialize、フォームからすべての値を取得するための特別なメソッドがあります。

それが役に立てば幸い。

于 2013-07-31T08:33:29.893 に答える
0

以下のコードは、この形式でフォーム入力をシリアル化します (controlName1=controlValue1&controlName2=controlValue2)

$(document).ready(function() {
  $('#Submit').on('click',(function() {
    var formElements = $('#post_on_forum').serialize();       
    //then use this formElements wherever you like
 });
}); 
于 2013-07-31T08:34:12.157 に答える