2010-06-24 8 views
0

Hai J'ai un champ de saisie select dans plusieurs propriétés. Je dois valider (cocher vide) ce champ à la fois du code JavaScript et PHP .Mon est comme "select multiple =" multiple » name = "frm_supply []>"valider un champ de saisie multi-sélection en html en utilisant php et javascript

Est-ce que quelqu'un me aider?

+2

Ne peut pas aider à moins que vous nous donniez des règles de validation ? –

+0

Besoin de plus d'informations. –

+0

Reportez cette réponse de débordement de pile [link] [1] [1]: http://stackoverflow.com/questions/13697401/how-to-validate-group-of-select-items-in-javascript/13697718 # 13697718 –

Répondre

0

Entre Nous dire que vous avez un code HTML comme ceci:

<select multiple="multiple" name="frm_supply[]"> 
    <option value="s1v1">A</option> 
    <option value="s1v2">B</option> 
    <option value="s1v3">C</option> 
</select> 
<select multiple="multiple" name="frm_supply[]"> 
    <option value="s2v1">1</option> 
    <option value="s2v2">2</option> 
    <option value="s2v3">3</option> 
</select> 

en soumettant le formulaire, si a, B et 1 sont vérifiées, un tableau $_POST sera comme ceci:

Array (
    [frm_supply] => Array (
    [0] => s1v1 
    [1] => s1v2 
    [2] => s2v1 
    ) 
) 

donc, vérifiez creux une boucle si aucune < select/> est vide. Le code suivant parcourt deux < select/> s et affiche pour chaque "La liste N contient des valeurs" ou "La liste N est vide".

$countValuesPerList = array(); 
foreach ($_POST['frm_supply'] as $key => $value) 
{ 
    $index = substr($value, 1, strpos($value, 'v') - 1); 
    $countValuesPerList[$index] = true; 
} 

for ($i = 1; $i <= 2; $i++) 
{ 
    echo isset($countValuesPerList[$i]) && $countValuesPerList[$i] ? 'List ' . $i . ' has values' : 'List ' . $i . ' is empty'; 
} 

Maintenant, pour vérifier les sélections côté client, procédez de la même façon and check what is selected in each <select/>.

0

Les valeurs de sélection multiples sont stockées dans un tableau. donc vérifier la longueur du tableau et selon ur règle de validation, par exemple pour au moins 2 sélection, la longueur du tableau devrait être supérieur à 2 et ainsi de suite

0
<select name="name"> 
    <?php 
    for ($i = 0; $i < $count; $i++) { 
     echo '<option value='$i'>$i</option>'; 
    } 
    ?> 
</select> 
Questions connexes