簡體   English   中英

Javascript復選框驗證在php中不起作用

[英]Javascript checkbox Validation not working in php

我正在努力驗證復選框,似乎無法理解哪里出了問題。 任何幫助都會很棒。 因為它是從 MySQL 作為數組提取的,所以我不確定這是否是我出錯的地方。

<script language="JavaScript" type="text/javascript">
function checkform ( form )
{
  if(!form.check_box_delete[].checked) {
        alert('Please check at least one of the options.');
        return false;
    }
    return true;
}
</script>

這是身體的代碼:

<form name="form" method="post" action="loan_checkedIn.php" onsubmit="return checkform(this);">
<?php
echo "<table border='1' align='center' width='900'>
<tr>
<th bgcolor='#00a3e0'><font face='Arial'>Select</font></th>
<th bgcolor='#00a3e0'><font face='Arial'>Customer</font></th>
<th bgcolor='#00a3e0'><font face='Arial'>Make</font></th>
<th bgcolor='#00a3e0'><font face='Arial'>Model</font></th>
</tr>";

$results = mysql_query("SELECT * FROM loan WHERE email='$email' AND status='Out'");
while($row1 = mysql_fetch_array($results))
  {
  echo "<tr>";
  echo "<td align='center'><input type='checkbox' name='check_box_delete[]' value='" . $row1['id'] . "'></td>";
  echo "<td align='center'><font face='Arial'>" . $row1['customer'] . "</font></td>";
  echo "<td align='center'><font face='Arial'>" . $row1['make'] . "</font></td>";
  echo "<td align='center'><font face='Arial'>" . $row1['model'] . "</font></td>";
  echo "</tr>";
  }
  echo "</table>";
  ?>

  <p align="center"><input type="submit" style="background-color:#00A3E0; color:#FFFFFF;" name="submit" value="Return Equipment"></p>
  </form>   

您可以遍歷表單中的所有元素type=checkbox

   var element = form.elements;
   for (var i = 0, element; element = elements[i++];) {
    if (element.type === "checkbox" && element.selected === "selected")
        alert("it's an empty textfield");
    }

您在 javascript 中遇到問題。 更改您的代碼如下:

<script language="JavaScript" type="text/javascript">
function checkform ( form )
{  
  var checkboxs=form['check_box_delete[]'];
  var cheked=false;
  for(var i=0,l=checkboxs.length;i<l;i++)
  {
      if(checkboxs[i].checked)
      {
          cheked=true;
          break;
      }
  }
  if(!cheked)
  {
    alert('Please check at least one of the options.');
        return false;
  }  
    return true;
}
</script>

還要停止使用已棄用/刪除的mysql_擴展。 使用mysqli_ PDO代替(使用准備好的查詢)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM