2016-08-14 40 views
0

ユーザの入力を配列の形で取得するテーブルがあります。値が存在するかどうかを確認しようとしています。私が遭遇する問題は、入力の名前はname="detail[]"です。私が使用しようとすると、document.add_quote_form.detail.value == ''の詳細が得られません。私は下の表を持っています。javascriptから入力配列の値を取得する

<form id="add_quote_form" name="add_quote_form" class="form-horizontal"> 
<table style="width: 90%" id="myTable" class="centered-table table table-bordered"> 
<thead> 
    <tr> 
    <th>Item</th> 
    </tr> 
</thead> 
    <tbody> 
    <tr> 
    <td style="width: 60%"><input type="text" id="detail[]" name="detail[]"/></td> 
    </tr> 
    </tbody> 
    </table> 
</form> 
+0

'[] 'を含む' id'の目的は何ですか? – guest271314

+0

detail []の代わりにdetailを使用する –

+0

'[]'の目的は、ユーザーがテーブルに行を追加することができるため、配列の入力を取得することです。 – bobthegoalie

答えて

0

ない要素のidである[]のどのような目的の特定の?あなたはdocument.querySelector()を使用することができ、属性を使用すると、あなたはそれが必要入力を検証するためにJavaScriptを使用している場合

<form id="add_quote_form" name="add_quote_form" class="form-horizontal"> 
    <table style="width: 90%" id="myTable" class="centered-table table table-bordered"> 
    <thead> 
     <tr> 
     <th>Item</th> 
     </tr> 
    </thead> 
     <tbody> 
     <tr> 
     <td style="width: 60%"><input type="text" id="detail[]" name="detail[]"/></td> 
     </tr> 
     </tbody> 
     </table> 
    </form> 

    <script> 
    var details = document.getElementsByClassName('detail'), 
    details_values = [].map.call(details , function(row) { 
     // you can do what ever you need here if you need to check each value 
     return row.value; 
    }); 

alert(details_values); 

    </script> 

しかし、同じ入力名でTDタグの多くを持っている場合は、ここでセレクタ

document.querySelector("[id^=detail]").value = ""; 
+0

ユーザはテーブルに行を追加できるので、私は '[]'を使っています。したがって、私は配列の入力をキャプチャしています。 – bobthegoalie

+0

@bobthegoalie「配列の入力をキャプチャする」とはどういう意味ですか?これは、 '' html'の 'id'に' [] '文字を含めることとどのように関連していますか? – guest271314

0

最初の使用クラスではないIDで始まりますあなたはjavascript 100%に依存することが安全ではないためにインターフェイスを使用するだけで、サーバー側の検証も行う必要があります

関連する問題