0

jscriptを使用してサーバーに送信されるフォームがありますが、送信ボタンの値を投稿する必要があります。これは、フォームを投稿するためにjscriptを使用する必要がある従来の方法では実行できません。私がしているのは、ボタンがクリックされたときに、ボタンの値を使用して非表示のテキストアイテムを作成し、それをサーバーに投稿したいということです。要素を作成してフォームに添付する際に問題が発生しました。

JScript

 $(document).ready(function(){      

    $('#query').click(function(e){

         var form = $('citizenRegistration');


          var self= $("#query"),newElement = $("<input type='hidden'/>");

          alert("self value is : "+self.val());

                 //create a new element and copy attributes             
                newElement
                    .attr("name", 'user_request2')
                    .val(self.val())
                    .appendTo('.buttons');

            alert(newElement.attr("name"));

        e.preventDefault();
        //alert($(this).val());
        //submitPage();

    });

});

HTML

 <div class="buttons">  
    <ol>
    <li><input id="save" type="submit" name= "user_request" value="Save"/>
    <input id="update" type="submit" name= "user_request" value="Update"/>
    <input id="query" type="submit" name= "user_request" value="Query"/>
    </li>       
    </ol>
    </div>
4

2 に答える 2

1

要素の構築ではなくtype、呼び出しで属性を指定します。attr()また、のセレクターには、IDであるかクラスであるかに応じて、aまたはacitizenRegistrationがありません。.#

   $(document).ready(function(){
        $("#query").click(function(e){
             var form = $("#citizenRegistration"); //Added # may need .

              //removed type=hidden, you can just use $(this)
              var self= $(this),newElement = $("<input/>");
                     //create a new element and copy attributes             
                    newElement.attr({
                            "name":"user_request2",
                            "type":"hidden" //added new attribute
                     }).val(self.val()).appendTo(".buttons");

            e.preventDefault();
        });
    });

実例:http: //jsfiddle.net/BXqVP/1/

firebugでページを検査すると、非表示の要素を確認できます。

ここに画像の説明を入力してください

于 2013-03-15T00:28:56.427 に答える
1

HTMLが表示されない場合はわかりませんが、次の2つの問題が考えられます。

var form = $('citizenRegistration');

これは有効なセレクターではありません。#おそらくまたはで始まるはず.です。しかし、あなたはそれを使うことにならないようです。

.appendTo('.buttons');

が入力要素の場合.buttons、追加することはできません。.buttonsまた、複数の要素がある場合は、複数の要素に追加しないでください。代わりに、おそらくそれをに追加する必要がありますform。うまく.appendTo(form)動作します。

于 2013-03-15T00:31:18.760 に答える