0

1 つのページに複数のフォームがあり、フォーム DOM オブジェクトが次のような JavaScript 関数への引数として渡されます。

    <form name="form1" method="post" action="">
      <input id="textfield1" type="text" name="textfield1">
      <input id="textfield2" type="text" name="textfield2">
      <input id="textfield3" type="text" name="textfield3">
      <input name="button" type="button" id="btn" value="Get Info" onClick="getdata(this.form)">
    </form><form name="form2" method="post" action="">
  <input id="textfield1" type="text" name="textfield1">
  <input id="textfield2" type="text" name="textfield2">
  <input id="textfield3" type="text" name="textfield3">
  <input name="button" type="button" id="btn" value="Get Info" onClick="getdata(this.form)">
</form>
<form name="form3" method="post" action="">
  <input id="textfield1" type="text" name="textfield1">
  <input id="textfield2" type="text" name="textfield2">
  <input id="textfield3" type="text" name="textfield3">
  <input name="button" type="button" id="btn" value="Get Info" onClick="getdata(this.form)">
</form>

function getdata(form){
  alert("the value is: " + form.getElementById('textfield1).value);
}

getdata(form) で渡された DOM オブジェクトに jQuery でアクセスするにはどうすればよいですか?

私は $(form) に疲れましたが、フォーム内の他の入力ではなく、ボタンオブジェクトにのみアクセスしているようです。

助けてくれてありがとう。

4

3 に答える 3

1

$(form)実際には、フォームへの jQuery 参照を提供する必要がありますが、単純formに DOM ノード自体になります。デモ

ただし、達成しようとしているものについては、コンテキストとして DOM ノードをセレクターに渡す方がよい場合があります。

$('#li_address', form).val()

ただし、ID で要素を取得しているので、コンテキストは必要ありません。1 つしかないからですよね? しかし、コンテキストとして DOM ノードを使用する合理的なデモはこちらです。

ただし、jQuery を使用しているため、jQuery から切り替えonClickてイベント バインディングを処理することもできます。ではなく、.btn想定してすべてのボタンにアクセスしていることに注意してください。繰り返しますが、ID はドキュメント全体で一意である必要があります。これを逸脱しないでください。それはあなたをかみます。class="btn"id="btn"

$('form .btn').click(function() {
    // this = button DOM node
    var form = $(this).closest('form');
    form.submit(); // or whatever
});
于 2013-04-11T11:07:12.110 に答える
0

このようなgetData関数で試すことができます-

form.fieldName.value
于 2013-04-11T11:15:51.420 に答える
0

これは form1 の DOM 要素を返します

$('form[name=form1]').get()

またはすべてのフォーム

$('form').get()

個々のフォーム要素にアクセスするには、たとえばボタンにアクセスできます

$('form[name=form1] #btn')
于 2013-04-11T11:07:24.100 に答える