[GastForen Programmierung/Entwicklung JavaScript In Formular nur einmal gleichen Wert eingeben

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

In Formular nur einmal gleichen Wert eingeben

broesel
Beiträge gesamt: 409

27. Apr 2004, 11:09
Beitrag # 1 von 10
Bewertung:
(2437 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo

Ich möchte bei meinem Formular verhindern, daß der Anwender mehrmals die gleiche Zahl eingibt. Er soll in den vier Formularfeldern die Zahlen von eins bis vier jeweils nur ein mal verwenden dürfen. Die Reihenfolge spielt dabei keine Rolle. Andere Zahlen dürfen nicht verwendet werden.
Wie kann man das am geschicktesten lösen?

Gruß
___Jojo___
X

In Formular nur einmal gleichen Wert eingeben

oesi50
  
Beiträge gesamt: 2315

27. Apr 2004, 11:16
Beitrag # 2 von 10
Beitrag ID: #82135
Bewertung:
(2437 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hi jojo,

das geht mit HTML. .-)

nimm doch einfach Radiobuttons oder Checkboxen, da hat der User eh keine andere Möglichkeit.

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#82132]

In Formular nur einmal gleichen Wert eingeben

SabineP
Beiträge gesamt: 7586

27. Apr 2004, 12:30
Beitrag # 3 von 10
Beitrag ID: #82171
Bewertung:
(2437 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jojo,

wenn Radio-Buttons zu einer Gruppe zusammengefaßt werden, kann nur einer der Buttons gewählt werden:

<form action="dein_script" method="post">
1<input type="radio" name="antwort" value="1"><br>
2<input type="radio" name="antwort" value="2"><br>
3<input type="radio" name="antwort" value="3"><br>
4<input type="radio" name="antwort" value="4">
</form>

Gruß Sabine


als Antwort auf: [#82132]

In Formular nur einmal gleichen Wert eingeben

oesi50
  
Beiträge gesamt: 2315

27. Apr 2004, 12:37
Beitrag # 4 von 10
Beitrag ID: #82174
Bewertung:
(2437 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
da ich Dein Formular nicht kenne, kann ich Dir nur Pseudocode liefern.

lösche array
für feld aus(felder)
array[feld.wert]++
wenn array[feld.wert] > 1
dann
Nachricht "fehler"
ende wenn
ende für

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#82132]
(Dieser Beitrag wurde von oesi50 am 27. Apr 2004, 12:45 geändert)

In Formular nur einmal gleichen Wert eingeben

oesi50
  
Beiträge gesamt: 2315

27. Apr 2004, 13:35
Beitrag # 5 von 10
Beitrag ID: #82189
Bewertung:
(2437 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
das ist doch aber ASP, warum erledigst Du das nicht mit der Formularauswertung, die ja ohnehin erfolgt, gleich mit?

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#82132]

In Formular nur einmal gleichen Wert eingeben

Markus Walker
Beiträge gesamt: 494

27. Apr 2004, 21:04
Beitrag # 6 von 10
Beitrag ID: #82312
Bewertung:
(2437 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Solche Plausibilitäts-Prüfungen würde ich eher beim Client, sprich Browser sehen, da es ja kaum Sinn macht, Daten hin und her zu schieben, um herauszufinden, dass sie nicht brauchbar sind.

Wenn also nicht eine Antwort 1 aud n möglich ist, wie oben mit Radios vorgeschlagen, nehme ich an, dass die Frage nach folgendem Muster gestellt wird: Bitte ordnen Sie die folgenden Schauspieler A, B, C, D nach Ihren Alter, indem Sie die Zahlen 1, 2, 3, 4 zuweisen... Jede Zahl darf nur einmal zugewiesen werden.

Das könnte dann mit JavaScript etwas so gelöst werden:

with (...form[0]) {
/* ... steht da, wenn weitere hirarchisch höhere Strukturen abgebildet werden müssen. Es wird hier angenommen, dass es sich um das form[0] handelt. */
switch (Frage_a.value) {
case Frage_b.value : window.alert("A=B ist nicht erlaubt");
break;
case Frage_c.value : window.alert("A=C ist nicht erlaubt");
break;
case Frage_d.value : window.alert("A=D ist nicht erlaubt");
break;
default: switch (Frage_b.value) {
case Frage_c.value : window.alert("B=C ist nicht erlaubt");
break;
case Frage_d.value : window.alert("B=D ist nicht erlaubt");
break;
default: if (Frage_c.value == Frage_d.value)
window.alert("C=D ist nicht erlaubt");
else
submit();
}
}
}


als Antwort auf: [#82132]

In Formular nur einmal gleichen Wert eingeben

broesel
Beiträge gesamt: 409

28. Apr 2004, 15:11
Beitrag # 7 von 10
Beitrag ID: #82447
Bewertung:
(2437 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo

Wie muß man das ganze jetzt erweitern wenn außer der Wiederholungsprüfung von Zahlen auch noch abgefragt wird, ob die Zahlen nur von 1 bis 4 gehen.

Gruß
___Jojo___


als Antwort auf: [#82132]
(Dieser Beitrag wurde von broesel am 28. Apr 2004, 16:44 geändert)

In Formular nur einmal gleichen Wert eingeben

oesi50
  
Beiträge gesamt: 2315

28. Apr 2004, 18:03
Beitrag # 8 von 10
Beitrag ID: #82493
Bewertung:
(2437 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo Jojo,

das geht leicht mit regulären Ausdrücken.

re = /^[1234]$/;
if(!re.test(deineVariable) ){
alert('Fehler');
}

http://selfhtml.teamone.de/...t/objekte/regexp.htm
http://devedge.netscape.com/...eference/regexp.html

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#82132]
(Dieser Beitrag wurde von oesi50 am 28. Apr 2004, 19:44 geändert)

In Formular nur einmal gleichen Wert eingeben

broesel
Beiträge gesamt: 409

30. Apr 2004, 13:16
Beitrag # 9 von 10
Beitrag ID: #82936
Bewertung:
(2437 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo

Ich hab es jetzt so weit laufen:

function Zahlen(){
with (document.forms[0]) {
switch (Frage_a.value) {
case Frage_b.value :
window.alert("Bitte verwenden Sie jede Zahl nur einmal!");
return false;
case Frage_c.value :
window.alert("Bitte verwenden Sie jede Zahl nur einmal!");
return false;
case Frage_d.value :
window.alert("Bitte verwenden Sie jede Zahl nur einmal!");
return false;
default:
switch (Frage_b.value) {
case Frage_c.value :
window.alert("Bitte verwenden Sie jede Zahl nur einmal!");
return false;
case Frage_d.value :
window.alert("Bitte verwenden Sie jede Zahl nur einmal!");
return false;
default:
if (Frage_c.value == Frage_d.value) {
window.alert("Bitte verwenden Sie jede Zahl nur einmal!");
return false;
} else {
return true;
}
}
}
}
}


Was muß ich jetzt dem Script zufügen, damit der Anwender nur die Zahlen von 1 bis 4 verwenden kann.

Gruß
___Jojo___


als Antwort auf: [#82132]

In Formular nur einmal gleichen Wert eingeben

oesi50
  
Beiträge gesamt: 2315

30. Apr 2004, 17:36
Beitrag # 10 von 10
Beitrag ID: #82985
Bewertung:
(2437 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo jojo,

meinst Du sowas?

http://vsrv.de/...les/formularp2.shtml

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#82132]
X