1. ホーム
  2. javascript

[解決済み] jquery は特定のフォームからすべての入力を取得する

2023-05-17 06:10:37

質問

あるフォームからすべての入力を入力する方法はありますか? 例えば、このようなものです。

<form id="unique00">
  <input type="text" name="whatever" id="whatever" value="whatever" />
  <div>
    <input type="checkbox" name="whatever" id="whatever" value="whatever" />
  </div>
  <table><tr><td>
    <input type="hidden" name="whatever" id="whatever" value="whatever" />
    <input type="submit" value="qweqsac" />
  </td></tr></table>
</form>
<form id="unique01">
  <div>
    <input type="text" name="whatever" id="whatever" value="whatever" />
    <input type="checkbox" name="whatever" id="whatever" value="whatever" />
  </div>
  <table><tr><td>
    <input type="hidden" name="whatever" id="whatever" value="whatever" />
  </td></tr></table>
  <select>blah...</select>
  <input type="submit" value="qweqsac" />
</form>
etc forms... forms...

*注:各フォームは異なる入力量とタイプを持ち、また異なる html 構造を持つかもしれません。

例えば、あるフォームIDから送信ボタンをクリックすると、jqueryがそのフォームID内のすべての入力を入力します。 現在、私が行っているのはこのようなものです。

$("form").submit(function(){ return validateForm($(this)) });
function validateForm(form){
var retVal = true;
var re;
$.each(form.serializeArray(), function(i, field) {
  var input = $('input[name='+field.name+']');
  field.value = $.trim(field.value);
  switch(field.name){
    case "name" :
        and another cases...
      }
    })
 }

はうまくいきました。 しかし、この場合、私はfield.nameとfield.valueを得るだけで、実際に私が欲しいのは、それぞれの入力要素にjqueryオブジェクトが必要で、そのcss、ID、名前にアクセスでき、さらにそれらの入力要素をアニメーションさせることができます。

は、このための方法はありますか?

を教えてください、よろしくお願いします。 AnD

どのように解決するのですか?

フォームのすべての入力を繰り返し処理するには、次のようにします。

$("form#formID :input").each(function(){
 var input = $(this); // This is the jquery object of the input, do what you will
});

これはjqueryの :入力セレクタ を使用して、すべてのタイプの入力を取得することができます。

$("form#formID input[type=text]")//...

など