[GastForen Programmierung/Entwicklung JavaScript checkboxen problem

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

checkboxen problem

pr0stAta
Beiträge gesamt: 2

2. Aug 2004, 11:43
Beitrag # 1 von 4
Bewertung:
(887 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
so habe folgendes problem:
habe 3 checkboxen von denen man nur 1 anklicken darf aber auch muss.
normalerweise würde man hierfür natürlich radiobuttons nehmen
allerdings passen die nicht in mein design.
Code
  checkboxen2 = new Array("angabe"); 
meldungstext2 = new Array();
meldungstext2[0] = new Array(2);
meldungstext2[0][0] = "Bitte wählen Sie nur eine Bezahlungsart";
meldungstext2[0][1] = "Bitte wählen Sie eine Bezahlungsart";
AnzCheckboxen2 = new Array(3);
for (k=0;k<checkboxen2.length; k++)
{
var boolCheck2 = false;
Fehlermeldung2=false;
for (l=0; l<AnzCheckboxen2[k]; l++)
{
blubb2 = checkboxen2[k]+l;
if(document.getElementById(blubb2).checked == true)
{
if(boolCheck2 == false)
{
boolCheck2 = true;
}
else
{
if(count<1)
{
Fehlermeldung2 = meldungstext2[k][0];
var boolbla2=false;
count++;
}
}
}
}
if(boolCheck2 == false)
{
if(count<1)
{
Fehlermeldung2 = meldungstext2[k][1];
var boolbla2=false;
count++;
}
}
if (Fehlermeldung2)
{
alert(Fehlermeldung2);
}
}
if(boolbla2==false)
{
return false;
}

dieser code soll regeln das man fehlermeldungen kriegt sobald
man mehr als 1 und 0 aktiviert hat. ausgelöst natürlich durch den submit button. habe nur einen teilausschnitt reinkopiert da ich denke das hier etwas nicht stimmt. er gibt nämlich immer, egal wieviele man anklickt, nur die eine meldung "bitte wählen sie eine bezahlungsart"
aus.
hoffe jmd kann mir helfen :>
mfg prosta
X

checkboxen problem

SabineP
Beiträge gesamt: 7586

2. Aug 2004, 11:58
Beitrag # 2 von 4
Beitrag ID: #100665
Bewertung:
(887 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Prosta,

>> normalerweise würde man hierfür natürlich radiobuttons nehmen
>> allerdings passen die nicht in mein design.

Radiobuttons und Checkboxen sind keine Designelemente, sondern Formularelemente.
Jedes Betriebsystem und jeder Browser liefert seine eigenen Formularelemente.
Du hast auf das Aussehen dieser Elemente nur wenig Einfluß.

>> hoffe jmd kann mir helfen :>

Ja, verwende Radiobuttons und prüfe, ob einer davon ausgewählt wurde.
Code
<html> 
<head>
<title>Formular</title>
<script type="text/javascript">
<!--
function pruef()
{
s=false;
for (i=0;i<document.formular.branche.length;i++){
if(document.formular.branche[i].checked == true){
s=true;
}
}
if(s==false){
alert ("Bitte A, B oder C auswählen!");
return false;
}
}
//-->
</script>
</head>
<body>
<form name="formular" action="http://example.com/mail.pl" method="post" onSubmit="return pruef()">

A<input type="radio" name="branche" value="A">
B<input type="radio" name="branche" value="B">
C<input type="radio" name="branche" value="C">

<input type="submit" value="Absenden">
</form>
</body>
</html>


Gruß Sabine

[Netscape 4 ist mein Freund]


als Antwort auf: [#100660]

checkboxen problem

pr0stAta
Beiträge gesamt: 2

2. Aug 2004, 12:07
Beitrag # 3 von 4
Beitrag ID: #100669
Bewertung:
(887 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
naja genau das wurde mir öfter schon gesagt doch
es hilft mir nicht weil ich checkboxen verwenden muss.
und ich weiss zu 100% das es damit auch geht. habe es selbst schon
in anderen programmcode teilen verwendet. doch nur hier in diesem
macht er probleme
trotzdem danke sabine :>


als Antwort auf: [#100660]
(Dieser Beitrag wurde von pr0stAta am 2. Aug 2004, 12:07 geändert)

checkboxen problem

Markus Walker
Beiträge gesamt: 494

4. Aug 2004, 07:33
Beitrag # 4 von 4
Beitrag ID: #100959
Bewertung:
(887 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
>naja genau das wurde mir öfter schon gesagt
Dann solltest Du mal darüber nachdenken ;-)

>es hilft mir nicht weil ich checkboxen verwenden muss
Warum denn?

Grundsätzlich kann man der Aussage von Sabine nur zustimmen. Neben technischen Argumenten ist da noch, dass nach allgemein etablierten Konventionen eine «1 aus n Auswahl» vom Userinterface in runden Formen (Radio-Buttons) und eine «n aus n Auswahl» mit eckigen Formen (Check-Boxes) dargestellt wird.

Dein Code erschein mir sehr schwerfällig. So wie er hier steht, hat er kaum einmal funktioniert. Folgendes ist mir dabei aufgefallen:

for (l=0; l<AnzCheckboxen2[k]; l++)
//AnzCheckboxen2 ist als Array mit drei Elementen definiert, die Elemente sind aber leer.

blubb2 = checkboxen2[k]+l;
//checkboxen2 ist als Array mit einem Element definiert

if(boolCheck2 == false)
{
boolCheck2 = true;
//Dies sorgt dafür, dass boolCheck2 ab hier immer true ist. Da weiter ober boolCheck2 auf false gesetzt ist wird dies immer so sein.

if(count<1)
//count ist nicht definiert

Fehlermeldung2
//Diese Variable wird mal als Flag und mal als String benutzt, was sicher zur Verwirrung führt.

if(boolbla2==false)
//boolbla2 ist nur definiert, falls die entsprechenden if-Verzweigungen durchlaufen wurden.


Falls wirklich Checkboxen benutzt werden müssen (bitte obige Frage beantworten!), dann ist es wohl am einfachsten, wenn diese soweit vergewaltigt werden, dass sie das selbe Verhalten wie Radios zeigen. Dabei kann z.B. über den onclick Event sichergestellt werden, dass nur die jeweils geklickte Checkbox angekreuzt ist und alle anderen werden unchecked. Mit dem onsubmit Event kann abschliessend überprüft werden, ob wirklich eine Wahl getroffen wurde.

HTH


als Antwort auf: [#100660]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
08.11.2022

Frankfurt, Fraport Conference Center
Dienstag, 08. Nov. 2022, 13.30 - 18.00 Uhr

Seminar

Auf der Enfocus World Tour stellen wir Ihnen gemeinsam mit Enfocus die aktuellen Highlights von Enfocus Switch und dem Impressed Workflow Server (IWS) vor. Wir präsentieren Ihnen anhand typischer Aufgabenstellungen in einem modernen Produktionsbetrieb die Möglichkeiten, die Enfocus Switch für die Automatisierung und Standardisierung von Abläufen bietet. Wir haben sowohl für Produktionsverantwortliche als auch technisch Interessierte ein spannendes Programm vorbereitet, bei dem Sie sicherlich viel Neues erfahren werden, welches Sie in Ihrem eigenen Betrieb umsetzen können. Die Veranstaltung bietet darüber hinaus eine hervorragende Möglichkeit, sich mit anderen Anwendern und Workflow-Spezialisten auszutauschen und Antworten auf konkrete Aufgabenstellungen zu erhalten, welche Sie mit Hilfe von Enfocus Switch/IWS umsetzen möchten.

Wir sind jeweils an 2 Tagen in Frankfurt, Hamburg und München vor Ort. Der erste (halbe) Tag richtet sich in erster Linie an Betriebsleiter und Produktionsverantwortliche in Druckereien - ist also weniger technisch orientiert - sondern gibt einen Überblick zu den heutigen Möglichkeiten einer automatisierten Produktion.

Der zweite Tag (Switch Anwender-Treffen) richtet sich an bestehende Switch-Anwender und Administratoren.

Anmeldung und weitere Infos: https://www.impressed.de/schulung.php?c=sDetail&sid=310

Ja

Organisator: Enfocus/Impressed

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=310

Enfocus World Tour 2022
Veranstaltungen
08.11.2022

Frankfurt, Fraport Conference Center
Dienstag, 08. Nov. 2022, 13.30 - 18.00 Uhr

Seminar

Auf der Enfocus World Tour stellen wir Ihnen gemeinsam mit Enfocus die aktuellen Highlights von Enfocus Switch und dem Impressed Workflow Server (IWS) vor. Wir präsentieren Ihnen anhand typischer Aufgabenstellungen in einem modernen Produktionsbetrieb die Möglichkeiten, die Enfocus Switch für die Automatisierung und Standardisierung von Abläufen bietet. Wir haben sowohl für Produktionsverantwortliche als auch technisch Interessierte ein spannendes Programm vorbereitet, bei dem Sie sicherlich viel Neues erfahren werden, welches Sie in Ihrem eigenen Betrieb umsetzen können. Die Veranstaltung bietet darüber hinaus eine hervorragende Möglichkeit, sich mit anderen Anwendern und Workflow-Spezialisten auszutauschen und Antworten auf konkrete Aufgabenstellungen zu erhalten, welche Sie mit Hilfe von Enfocus Switch/IWS umsetzen möchten.

Wir sind jeweils an 2 Tagen in Frankfurt, Hamburg und München vor Ort. Der erste (halbe) Tag richtet sich in erster Linie an Betriebsleiter und Produktionsverantwortliche in Druckereien - ist also weniger technisch orientiert - sondern gibt einen Überblick zu den heutigen Möglichkeiten einer automatisierten Produktion.

Der zweite Tag (Switch Anwender-Treffen) richtet sich an bestehende Switch-Anwender und Administratoren.

Anmeldung und weitere Infos: https://www.impressed.de/schulung.php?c=sDetail&sid=310

Ja

Organisator: Enfocus/Impressed

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=310

Enfocus World Tour 2022