2017-09-24 5 views
-2

Ich habe Probleme mit dieser Validierung eines Kontrollkästchens und kann nicht zu verstehen, wo es falsch läuft. Jede Hilfe wäre fantastisch. Da es MySQL als Array nutzt, bin ich mir nicht sicher, ob ich hier falsch liege. HierJavascript Checkbox Validation funktioniert nicht in PHP

<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> 

ist der Code für den Körper:

<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> 
+0

erster Frage, erhalten Sie die Liste von Kontrollkästchen? – Ravi

+0

Ja, es zieht von MySQL alle Details mit einer Checkbox auf der Seite mit mehreren Zeilen, und wenn dieses Kontrollkästchen aktiviert ist, funktioniert das System gut, aber wenn nicht aktiviert, heißt es abgeschlossen, wenn es nicht wirklich ist. – Coops

+1

Sie sollten die Developers Tools Console betrachten, Sie würden einen Syntaxfehler sehen: 'form.check_box_delete []' ist nicht gültig js –

Antwort

0

Sie haben Problem in Javascript. ändern Sie den Code wie folgt:

<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> 

auch nicht mehr verwenden deprected/entfernt mysql_ Erweiterung. verwenden mysqli_ oder PDO statt (mit vorbereiteter Abfrage)

+0

Bearbeitete Funktion, um mit Ihrer Checkbox zu arbeiten. Versuch es –

0

könnte Sie eine Schleife durch alle Element type=checkbox in Form.

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"); 
    }