-2

トリガーが開始されたjqueryを使用して、フォーム内のすべての入力を選択しようとしています。したがって、たとえば、フォーム1でボタンがクリックされた場合、フォーム1からの入力のみが選択され、フォーム2からは何も選択されません。

<form action="" method="POST">    <!--form 1-->

<input type="text" />
<input type="text" />
<input type="hidden" value="87678"  />

<input type="button" onclick="doit()" />

</form>




<form action="" method="POST">   <!--form 2-->

<input type="text" />
<input type="text" />
<input type="hidden" value="87678"  />

<input type="button" onclick="doit()" />

</form>
4

4 に答える 4

2

これを試して...

$(':button').on('click', function(){
    var form = $(this).parents('form:first');
    $(form).children().each(function(evt){
        if($(this).attr('type') == 'text'){
            alert(this.value);
        }
    });
});

この例を参照してくださいjsFiddle

ご挨拶。

于 2013-01-28T19:36:28.520 に答える
1

イベントターゲットを使用して親フォームにアクセスし、そのフォームのすべての入力を検索します

function doit(event){
    $(event.target).parent("form").find("input")
}

これを機能させるには、アンカータグのhtmlを次のように変更する必要があります。

<input type="button" onclick="doit(event)" /> 
于 2013-01-28T19:30:26.483 に答える
1
$('input[type=button]').click(function(){ 
    console.log( $('input',$(this).closest('form')) ) 
});

http://jsfiddle.net/kR3ws/1/

于 2013-01-28T19:30:48.540 に答える
0

idボタンとフォームにフィールドを追加します。

<form id="form1" action="" method="POST">    <!--form 1-->
<input type="text" />
<input type="text" />
<input type="hidden" value="87678"  />
<input id="btn1" type="button" onclick="doit()" />
</form>

<form id="form2" action="" method="POST">   <!--form 2-->
<input type="text" />
<input type="text" />
<input type="hidden" value="87678"  />
<input id="btn2" type="button" onclick="doit()" />
</form>

次に、次のようにイベントを宣言します。

$('#btn1').click(function(){
    var data = $('#form1').serialize();
    alert('form1 : '+data);
});

$('#btn2').click(function(){
    var data = $('#form2').serialize();
    alert('form2 : '+data);
});
于 2013-01-28T19:31:26.773 に答える