0

以下の HTML コードの簡略化されたフォームには、いくつかの jquery 検証コードを使用して検証し、いくつかの php コードを使用して処理する必要がある多数の繰り返しフォーム フィールドが含まれています。しかし、「name」タグは一意であると想定されているため、適切な jquery 検証コードを記述することに再び行き詰まります。名前タグを一意にすると、php コーディングがより複雑になると思います。

jquery 検証コーディングと php コーディングの両方を容易にする、反復フォーム フィールドの適切な構造とはどのようなものでしょうか?

助言がありますか?

前もって感謝します。

html コード:

<input type="checkbox" id="check0" name="productselection[]" value="productselected0">
<input id="nrofparts0" type="text" name="nrofparts[]">

<input type="checkbox" id="check1" name="productselection[]" value="productselected1">
<input id="nrofparts1" type="text" name="nrofparts[]">

<input type="checkbox" id="check2" name="productselection[]" value="productselected2">
<input id="nrofparts2" type="text" name="nrofparts[]">
4

1 に答える 1

0

あなたがそれを行うことができる1つの方法があります:

HTML

    <form id="theForm" method="post">
        <input type="checkbox" name="checky[0]" />
        <input type="checkbox" name="checky[1]" />
        <input type="checkbox" name="checky[2]" />
        <input type="submit" name="submit" value="submit"/>
    </form>

どのチェックボックスがクリックされたかを判断しやすくするため、配列にキーを追加します。クリックされていないものについては何も得られません。それは混乱を招く可能性があります

jquery:

$('#theForm input[type="checkbox"]').each(function(){
    // if($(this))... some validation
});

php:

if(isset($_POST['checky'])){
    foreach($_POST['checky'] as $key => $val){
        echo $key.'  '.$val;  // this will give you the key of the checkbox, and the value 
    }
}

チェックボックスをカウントする非表示の入力を使用することもできます。そうすれば、ループするときに、それを使用して PHP コードに空のチェックボックスを設定できます。

お役に立てれば!

于 2013-08-21T16:55:42.623 に答える