PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   HTML, CSS und JavaScript Help! (http://www.selfphp.de/forum/forumdisplay.php?f=24)
-   -   Checkbox-Auswertung bei gleichen Element-Namen (http://www.selfphp.de/forum/showthread.php?t=25962)

lueni 14.11.2016 20:01:45

Checkbox-Auswertung bei gleichen Element-Namen
 
Hi zusammen!

Ich stehe hier vor einem Problem und hoffe ihr könnt mir helfen.

Ich habe ein Formular, das aus mehreren Teil-Formularen besteht. Die einzelnen Checkboxgruppen besitzen auch den selben Namen.
Nun möchte ich einen Check einbauen, der überprüft ob mindestens eine Checkbox ausgewählt wurde.

Dadurch dass die einzelnen Gruppen jedoch den selben Namen haben, wird "(document.forms["checkboxform"].elements["chkbx1"].checked == false)" erst als richtig erkannt wenn alle checkboxen mit dem selben Namen angewählt wurde.

PHP-Code:

<form>
        <
label>Checkboxengruppe 1</label><br>
        <
input type="checkbox" name="chkbx1" value="1" form="checkboxform"/><br>
        <
input type="checkbox" name="chkbx1" value="2" form="checkboxform"/><br>
        <
input type="checkbox" name="chkbx1" value="3" form="checkboxform"/><br>
        
</
form>
<
form>
        <
label>Checkboxengruppe 2</label><br>
        <
input type="checkbox" name="chkbx2" value="4" form="checkboxform"/><br>
        <
input type="checkbox" name="chkbx2" value="5" form="checkboxform"/><br>
        <
input type="checkbox" name="chkbx2" value="6" form="checkboxform"/><br>
</
form>
    
<
form id="checkboxform" action="#" method="post" >
        <
input type="submit" value="weiter" onclick="return auswertung()"/>
</
form>    


<
script type="text/javascript>
function auswertung(){
            
    if (document.forms["
checkboxform"].elements["chkbx1"].checked == false){
    alert("
checkbox nicht gechecked");
    return false;
}
    if (document.forms["
checkboxform"].elements["chkbx2"].checked == false){
    alert("
checkbox nicht gechecked");
    return false;
    }
}
</script> 

Gibt es eine Möglichkeit die Checkboxen dennoch einzeln anzusprechen, oder anderenfalls eine Möglichkeit zu Überprüfen, ob mindestens eine Checkbox gewählt wurde?

Herzlichen Dank schonmal,
lueni

sysop 15.11.2016 12:53:13

AW: Checkbox-Auswertung bei gleichen Element-Namen
 
Hallo

Du hast dich im Typen vertan, was du suchst sind Radio-Buttons.

HTML-Code:

        <input type="radio" name="chkbx1" value="1" form="checkboxform"/><br>
.
.

Das Js kannst du dann weglassen.

PS
Beim JS fehlt übrigens ein Doublequote.
HTML-Code:

<script type="text/javascript">

lueni 15.11.2016 22:23:09

AW: Checkbox-Auswertung bei gleichen Element-Namen
 
Hi!

Nein, ich habe mich nicht im Typ vertan, ich benötige Checkboxen und keine Radiobuttons...!

sysop 16.11.2016 12:21:21

AW: Checkbox-Auswertung bei gleichen Element-Namen
 
HTML-Code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title>Checkboxen im Formular Eingaben pr&uuml;fen</title>

<script type="text/javascript">
function auswertung(chkbx1, chkbx2)
{

    ausgewaehlt='0';
    for (i = 0; i < chkbx1.length; i++)
    {
        if(chkbx1[i].checked == true){
            ausgewaehlt='1';
        }
    }

    if(ausgewaehlt=='0')
    {
        alert("Sie haben bei chkbx1 nichts selektiert");
        return false;
    }


    ausgewaehlt='0';
    for (i = 0; i < chkbx2.length; i++)
    {
        if(chkbx2[i].checked == true){
            ausgewaehlt='1';
        }
    }

    if(ausgewaehlt=='0')
    {
        alert("Sie haben bei chkbx2 nichts selektiert");
        return false;
    }

}
</script>


</head>

<body>
<form name="Formx" action="">
        <label>Checkboxengruppe 1</label><br>
        <input type="checkbox" name="chkbx1" value="1"><br>
        <input type="checkbox" name="chkbx1" value="2"><br>
        <input type="checkbox" name="chkbx1" value="3"><br>

        <label>Checkboxengruppe 2</label><br>
        <input type="checkbox" name="chkbx2" value="4"><br>
        <input type="checkbox" name="chkbx2" value="5"><br>
        <input type="checkbox" name="chkbx2" value="6"><br>

        <input type="Button" value="weiter" onclick="auswertung(chkbx1, chkbx2);"/>
</form>
</body>
</html>

Zur Info:

1. Deine Inputs generieren ein Array, das natürlich auch geprüft werden muss.
2. Dein Funktionsaufruf mit onklick übergibt keine Daten an auswertung()


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:59:46 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.