0

対応する行に指定された配列テキストボックスを持つチェックボックスの配列があります。ユーザーが特定のチェックボックス、たとえば最初の3つのチェックボックスを選択した場合、対応するテキストボックスを検証したい(空の検証)。どうすればこれを作ることができますか?配列のテキストボックス全体を試してみましたが、うまくいきました。しかし、チェックされたものだけの検証が必要です。参照用にコードを示します。

dml=document.forms['form1'];
// get the number of elements from the document
len = dml.elements.length;
for( i=0 ; i<len ; i++)
{
    //check the textbox with the elements name
    if (dml.elements[i].id=='noofdays[]')
    {
        // if exists do the validation and set the focus to the textbox
        if (dml.elements[i].value=="")
        {
            alert("Please enter no of Days");
            dml.elements[i].focus();
            return false;     
        }
    }
}

早速お返事をいただきありがとうございます。しかし、私のプロセスでは。データベースからチェックボックスの値をIDとして取得しています。私はあなたの参照のために私のコードを与えました.

<? while(($count<$rpp) && ($i<$tcount))
   {
       mysql_data_seek($res,$i);
       $_SESSION['cardid'][$i]=$row['id'];
       $row = mysql_fetch_array($res);
?>

<tr>
  <td align="center" bgcolor="#e9e9e9" class="running_text"><input name="id[]" type="checkbox" id="id[]" value="<?=$row['jobid']?>" onchange="enableTextField(this)" /></td>
  <td height="28" align="center" bgcolor="#e9e9e9" class="running_text"><?=$row['jobtitle']?></td>
  <td align="center" bgcolor="#e9e9e9" class="running_text"><?=$row['jobcategoryid']?></td>
  <td align="center" bgcolor="#e9e9e9" class="running_text"><?=$row['practicename']?></td>
  <td align="center" bgcolor="#e9e9e9" class="running_text"><?=$row['subscriptiontype']?></td>
  <td width="82" align="center" bgcolor="#e9e9e9" class="running_text"><input type="text" size="1" value="0" name="noofdays[<?php echo $row['jobid']; ?>]" id="noofdays[]">
     < /td>
  <td width="28" align="center" bgcolor="#e9e9e9" class="running_text"><a href="viewjobdetails.php?jobid=<?=$row['jobid']?>&ss=<? echo $_POST['noofdays'][$jobsid];?>"><img src="images/view-detail-icon.png" width="16" height="16" title="View" /></a></td>
  <td width="31" align="center" bgcolor="#e9e9e9" class="running_text"><a onClick="return del(<?=$row['jobid']?>)" class="deleteimage"><img src="images/Delete-icon.png" width="16" height="16" title="Delete" /></a></td>
</tr>

<?     $i++; 
       $count++; 
    } ?>
4

1 に答える 1

0

テキスト入力のクラス名と一致する値をチェックボックスに付けます。テキスト入力をクラス名でグループ化します。

<input type="checkbox" value="lips"/> <--------Grouper

<input type="text" class='lips' />​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ <-Groupeee
<input type="text" class='lips' /> <-Groupeee
<input type="text" class='lips' />​ <-Groupee

<script type="text/javascript">
    var ckBxs = document.querySelectorAll('input[type=checkbox]'),
                    i = ckBxs.length;
    while (i--) {
        ckBxs[i].onchange = checkBoxCheck;
    };
    function checkBoxCheck() {
        var txBxs = document.getElementsByClassName(this.value),
                        i = cxBxs.length;
        while (i--) {

            switch (txBxs[i].class) {

                case 'lips':
                    if (txBxs[i].value != 'To what ever your checking for')
                    { alert('You\'re in focus Fool!'); };
                    break;
                    //

                case 'nextClassGroup':
                    if (txBxs[i].value != 'To what ever your checking for')
                    { alert('You\'re in focus Fool!'); };
                    break;
            };
        };
    };
</script>
于 2012-06-02T17:38:53.400 に答える