3

コード:

<form name="newform" action="test.php" method="post"  class="form-horizontal input-prepend" id="newform">

  <div class="form-group">
    <label class="control-label" for="test1">test1</label>
    <input type="text" name="test1" class="form-control" id="test1" placeholder="">
  </div>

  <div class="form-group">
    <label class="control-label" for="test2">test2</label>
    <input type="text" name="test2" class="form-control" id="test2" placeholder="">
  </div>

<div class="form-group">
    <label class="control-label" for="test3">test3</label>
    <input type="text" name="test3" class="form-control" id="test3" placeholder="">
  </div>

<div class="form-group">
    <label class="control-label" for="test1">test4</label>
    <input type="text" name="test4" class="form-control" id="test4" placeholder="">
  </div>

<div class="form-group">
    <label class="control-label" for="test5">test5</label>
    <input type="text" name="test5" class="form-control" id="test5" placeholder="">
  </div>

</form>

入力の値を取得するにはid、たとえばを使用できますが、入力のalert($("#test5").val())がわからない場合、フォームの先頭から順番に入力値を取得するにはどうすればよいidでしょうか。

私のテスト コードでは、コードを使用して値を取得できます。

var value1 = $("test1").val();
var value2 = $("test2").val();
var value3 = $("test3").val();
var value4 = $("test4").val();
var value5 = $("test5").val();

入力がわからないときに値を取得する方法について誰かアイデアがありますidか?

4

10 に答える 10

9

試す:

$('form').serialize();

また:

var values = [];
$('input').each(function() {
    values.push($(this).val());
});
于 2013-09-11T18:25:43.890 に答える
3

jQueryを使用しているようです。

 $('form[name="newForm"]').serializeArray();

これにより、次のような配列が得られます。

[{name:'test1', value:'value1'},...]

jQuery serializeArrayを参照してください。

于 2013-09-11T18:26:34.103 に答える
2

jQueryeach()関数を使用できます

$(".form-control").each(function(){
  var value = $(this).val();
});
于 2013-09-11T18:25:16.743 に答える
2

いくつかのオプションがあります。

タグ別

$('input')ページ全体のすべての入力を取得するために使用します。これは、特定の形式に限定されません。

組み合わせセレクター

セレクターを組み合わせることができます。$('input,select')

試してみてください: http://jsfiddle.net/s5jgd/

タグ別、要素内

を使用findして、特定の要素からすべての入力を取得できます。例えば:

$('#myForm').find('input');

組み合わせたセレクターでこのアプローチを使用することもできます。

$('#myForm').find('input,select');

form.elementsコレクションの使用

でアクセスする要素のコレクションがあります$('#myForm').elements

すべての要素にクラスを与えることによって

これは最も柔軟なオプションです。$('.myElementClass')

シリアライズ

jQuery は、フォームのデータをシリアライズする方法を提供します。リクエストに使用できる文字列形式のすべての要素のリストが表示されます。

$('#myForm').serialize()(たとえば) この URL エンコードされた文字列を出力します。myElementA=my+input&myElementB=my+input+c&myElementC=my+input+c

$('#myForm').serializeArray()は似ていますが、文字列の代わりに、現在の値に対応するキーとしてフォーム要素名を持つオブジェクトを取得します。次のようになります。

{"myElementA":"my input", "myElementB":"my input b", "myElementC":"my input c"}

結論

つまり、これは基本的な jQuery の使用法です。マニュアルといくつかのチュートリアルを読んで、jQuery-foo を拡張することをお勧めします。

ドキュメンテーション

于 2013-09-11T18:27:55.023 に答える
1

ID form(例: test-form) を指定すると、次のことができます。

var formValues = $('#test-form').serialize();
于 2013-09-11T18:25:29.010 に答える
1

値の配列が必要な場合は、get( )にチェーンされたmap()<input>を介して要素から投影できます。

var values = $("input[type=text]").map(function() {
    return this.value;
}).get();
于 2013-09-11T18:27:40.303 に答える
0

何をするかによって、いくつかの方法があると思います。

たとえば、フォーム内のすべての入力を選択できます。

$('form input')

これは、すべての入力を表す jQuery オブジェクトの配列を返します。次に、その配列をループして.val()、それぞれの を取得できます。

もう 1 つのオプションは、フォーム全体を JSON オブジェクトにシリアル化することです。

var data = $('form').serialize();

次に、その JSON オブジェクト ( data) を必要に応じて操作したり、必要に応じて値を取得したりできます。

于 2013-09-11T18:25:16.270 に答える
0

できるよ:

var inputValues = $("#newform .form-group input:text").map(function() {
    return this.value;
}).get();
于 2013-09-11T18:27:37.610 に答える