2017-06-09 36 views
0

Screenshot私はチェックボックスと複数のテキストボックスを検証しようとしています。テキストボックスは、最初は無効にする必要があります。チェックボックスをオンにした場合にのみ、テキストボックスを有効にする必要があります。チェックしたチェックボックスの同じ行にあるテキストボックスが空のままになっていると、アラートがポップアップするはずです。PHP - どのようにPHPのチェックボックスとテキストボックスを検証するには?

   <table class="table table-bordered"> 
    <tr align="center" style="background-color:black; color:white;"> 
       <tr> <td colspan="8" style="background-color:silver;"><input type="submit" class="btn btn-primary" id="addSPtoCart" name="addSPtoCart" value="Add To Cart" class="button-L" /></td></tr> 
       <tr align="center" style="background-color:black; color:white;">  
       <td class="border"><span class="table-head"><label>Favorite</label></span></td> 
       <td><span class="table-head"><label>Material Code</label></span></td> 
       <td><span class="table-head"><label>Material Desc</label></span></td> 
       <td><span class="table-head"><label>Chart</label></span></td> 
       <td><span class="table-head"><label>Shade</label></span></td> 
       <td><span class="table-head"><label><?php echo $month1 ?></label></span></td> 
       <td><span class="table-head"><label><?php echo $month2 ?></label></span></td> 
       <td><span class="table-head"><label><?php echo $month3 ?></label></span></td> 
       <!--<td class="no-border" align="center"><span class="table-head">Action</span></td>--> 
      </tr> 

    <tr class="abc" align="center"> 
        <style>.abc:nth-child(even){background-color: silver;}</style> 
       <td><input type="checkbox" name="fav[]" id="fav[]" value="<?php echo $d['materialID']; ?>" /></td> 
       <td><label><?php echo $d['materialCode']; ?></label></td> 
       <td><label><?php echo $d['materialDesc']; ?></label></td> 
       <td><label><?php echo $d['chart']; ?></label></td> 
       <td><label><?php echo $d['shade']; ?></label></td> 
       <td><input type="text" class="form-control" style="width:80px; " size ="5" name="qty_1<?php echo $d['materialID'] ?>" id="qty_1<?php echo $d['materialID'] ?>" value =<?php echo $var1 ?> ></td> 
       <td><input type="text" class="form-control" style="width:80px;" size ="5" name="qty_2<?php echo $d['materialID'] ?>" id="qty_2<?php echo $d['materialID'] ?>" value =<?php echo $var2 ?> ></td> 
       <td><input type="text" class="form-control" style="width:80px;" size ="5" name="qty_3<?php echo $d['materialID'] ?>" id="qty_3<?php echo $d['materialID'] ?>" value =<?php echo $var3 ?> ></td> 

      <!-- <td class="no-border" align="center"><a href="<?php //echo SITEURL; ?>/salesplan/salesplan-details/?id=<?php //echo $d['mmID']; ?>&mCatID=<?php// echo $_REQUEST["mCatID"];?> ">View</a></td> --> 

      </tr> 

       <tr><td colspan="8"><input type="submit" class="btn btn-primary" id="addSPtoCart" name="addSPtoCart" value="Add To Cart" class="button-L" /></td></tr> 

</table> 

<script type="text/javascript"> 
function validateForm() { 
    var x = document.forms["frmFav"]["qty_1"].value; 
     var y = document.forms["frmFav"]["qty_2"].value; 
      var z = document.forms["frmFav"]["qty_3"].value; 
      //var a = document.forms["frmFav"]["fav"].value; 



    if ((x == "") || (!this.frmFav.fav.checked)) { 
     alert("This field cannot be left empty !"); 
     return false; 
    } 
} 
</script> 
+0

validateForm()関数に

アップデートを手助け

<td><input type="checkbox" name="fav[]" id="fav[]" value="<?php echo $d['materialID']; ?>" onchange="checkboxchange(this)"/></td> 

希望を関数呼び出しを追加しますか? – Nidhi

+0

まだ試したことのjsfiddleリンクを提供していますか? –

+0

@ AbhaySinghania..refer this [フィドルデモ](https://jsfiddle.net/nidhi_akbari_1994/4gwrwgbo/) – Nidhi

答えて

0

あなたは()関数

<input type="submit" class="btn btn-primary" id="addSPtoCart" name="addSPtoCart" value="Add To Cart" class="button-L" onclick="return validateForm()"/> 

validateFormを呼び出すためにボタンのonclickのアクションを行うために有効にし、テキストボックスを無効にする必要があり、

<td><input type="text" class="form-control" style="width:80px; " size ="5" name="qty_1<?php echo $d['materialID'] ?>" id="qty_1<?php echo $d['materialID'] ?>" value =<?php echo $var1 ?> disabled></td> 

第一および機能にdisabled属性を置きますトリガーを有効または無効にする

function checkboxchange(x){ 
var formcontrol = x.parentNode.parentNode.getElementsByClassName("form-control"); 
for (var i = 0; i < formcontrol.length; i++){ 
    if(formcontrol[i].disabled) 
     formcontrol[i].disabled = false; 
    else 
     formcontrol[i].disabled = true; 
} 
} 

チェックボックスにあなたが何をしようとしたことがあり

function validateForm() { 
var validate = document.querySelectorAll(".form-control:not(:disabled)"); 
for (var i = 0; i < validate.length; i++){ 
    if (validate[i].value=="") { 
     alert("This field cannot be left empty !"); 
     return false; 
    } 
} 
} 
+0

ありがとうございました。チェックボックス機能は動作していますが、必須のフィールド検証は機能していません。 –

+0

チェックボックスをオンにすると、すべてのテキストボックスが有効になります。私はチェックボックスと同じ行にあるtexboxを有効にして無効にしたいだけです。 –

+0

オハイオ州...私はチェックボックス1のために編集しました。これをチェックボックスhtmlに追加し、機能の変更も行います。今すぐチェックした行 –

関連する問題