hilfdirselbst.ch
Facebook Twitter gamper-media
"Funktioniert nicht" ist keine hinreichende Fehlerbeschreibung.
Anonym
Beiträge: 22827
10. Jun 2004, 18:28
Beitrag #1 von 12
Bewertung:
(2558 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Formular / Array / auslesen


Hallo Freaks!

Habe folgendes Javascript und würde gerne wissen, was damit nicht stimmt, da es nicht funktioniert! Wäre schön, wenn mir jemand be-
hilflichsein könnte. Ich baue auf Eure Unterstützung!

function validateTest(dieAbfrage){
validity = true;
var wert = 0;
Abfrage = new Array(6);
Abfrage[0] = "name";
Abfrage[1] = "vorname";
Abfrage[2] = "strasse";
Abfrage[3] = "plz";
Abfrage[4] = "ortschaft";
Abfrage[5] = "telefon";
for (var count=0; count <=6; count++){
if (!check_empty(document.test.(Abfrage[count]).value)){
wert = wert+1;
}
}
if (wert>0){
{ validity = false; alert('Formular ist unvollstaendig'); }
if (validity)
alert ("Vielen Dank für Ihre Anmeldung!.");
return validity;
}


function check_empty(text) {
return (text.length > 0); // gibt false zurück wenn leer
}

Viele Grüße
Fool
Top
 
X
oesi50  A  S
Beiträge: 2315
10. Jun 2004, 18:38
Beitrag #2 von 12
Beitrag ID: #90257
Bewertung:
(2558 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Formular / Array / auslesen


hi anonym,


if (!check_empty(document.test.(Abfrage[count]).value)){

Was bewirkt diese Zeile?

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#90255] Top
 
Anonym
Beiträge: 22827
10. Jun 2004, 18:41
Beitrag #3 von 12
Beitrag ID: #90258
Bewertung:
(2558 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Formular / Array / auslesen


Hallo Oesi!

Die Funtion check_empty überprüft, ob im Eingabefeld etwas
eingeben wurde oder nicht!

Gruß Fool!
als Antwort auf: [#90255] Top
 
oesi50  A  S
Beiträge: 2315
10. Jun 2004, 18:43
Beitrag #4 von 12
Beitrag ID: #90261
Bewertung:
(2558 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Formular / Array / auslesen


 if (!check_empty(document.test.(Abfrage[count]).value)){
ich will wissen, was diese Zeile BEWIRKT!

und in dieser Zeile stimmt auch was nicht:
for (var count=0; count <=6; count++){

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#90255]
(Dieser Beitrag wurde von oesi50 am 10. Jun 2004, 19:04 geändert)
Top
 
Anonym
Beiträge: 22827
10. Jun 2004, 19:14
Beitrag #5 von 12
Beitrag ID: #90267
Bewertung:
(2558 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Formular / Array / auslesen


Irgendwie kommt hier auch nur ein Teil an, von dem was
ich insgesamt schreibe. Ich versuche es nochmal!

Es wird das Eingabefeld überprüft, durch den Funktions-
aufruf check_empty, z. B. Eingabefeld "Name". Ist dieses
Feld leer wird der Zähler wert ( eine zeile darunter )
um eins erhöht.

test ist der Name des Formulars

Ich hoffe, wir reden nicht aneinander vorbei,
wenn doch bitte ich um Verständnis! ( Dann schreibe
doch bitte, was Du unter bewirken verstehst )

Fool
als Antwort auf: [#90255] Top
 
oesi50  A  S
Beiträge: 2315
10. Jun 2004, 19:34
Beitrag #6 von 12
Beitrag ID: #90269
Bewertung:
(2558 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Formular / Array / auslesen


> Wäre schön, wenn mir jemand behilflichsein könnte.

Ich wollte Dir in der Weise helfen, daß Du nochmal über diese Zeile nachdenkst.

Du hast bisher geschrieben, was diese Zeile bewirken soll. Ich wollte, daß Du mal darüber nachdenkst, welche Wirkung diese Zeile tatsächlich hat(bewirkt kommt von wirken oder Wirkung).

> Es wird das Eingabefeld überprüft,
welches?

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

PS.
Wenn jemand zu mir kommt und Hunger hat, kann ich ihm einen Fisch geben oder zeigen wie man angelt.
Was ist besser?
als Antwort auf: [#90255]
(Dieser Beitrag wurde von oesi50 am 10. Jun 2004, 19:38 geändert)
Top
 
Anonym
Beiträge: 22827
10. Jun 2004, 19:50
Beitrag #7 von 12
Beitrag ID: #90272
Bewertung:
(2558 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Formular / Array / auslesen


Du forderst mich ja total! Hatte eigentlich auf direkte und unkompli-
zierte Hilfe gehofft ( Scherz )!

Aber ich versuche es nochmal, da ich glaube daß Du die Lösung meines
Problems weißt, mich aber nur auf die Folter spannen willst!?

Wir haben sechs Eingabefelder. Der erste Schleifendurchgang wird
gezählt, daß erste Eingabefeld mit dem Namen "Name", Abfrage[0]
wird ausgelesen. In diesem Falle setze ich doch für die Abfrage
aller Namensfelder (Abfrage[count] ein. Oder benutze ich die
Variable "dieAbfrage"? Habe hier ein total schlaues Buch, steht nur
nicht drin was ich wirklich wissen will!

Bitte spanne mich doch nicht so auf die Folter!

Fool
als Antwort auf: [#90255] Top
 
oesi50  A  S
Beiträge: 2315
10. Jun 2004, 19:55
Beitrag #8 von 12
Beitrag ID: #90273
Bewertung:
(2558 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Formular / Array / auslesen


 if (!check_empty(document.test.(Abfrage[count]).value)){

Konzentriere Dich mal nur auf diese Zeile.
Eigentlich müsste Dir Dein Browser schon einen Hinweis gegeben haben.

als Antwort auf: [#90255] Top
 
Anonym
Beiträge: 22827
10. Jun 2004, 20:09
Beitrag #9 von 12
Beitrag ID: #90275
Bewertung:
(2558 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Formular / Array / auslesen


Also Browsertechnisch läuft alles einwandfrei ohne Meldung.
Habe mich jetzt nochmal konzentriert. Weiß nur, daß mit
(Abfrage[count]) etwas nicht stimmt, da ich die anderen
Elemente aus einer ähnlichen Funktion abgeglichen habe
(dort wird jedes Eingabefeld einzeln abgefragt) und dort
funktioniert auch alles. Ich glaube, daß das heute mit mir
nichts mehr wird, danke Dir aber für Deine Unterstützung.

Fool
als Antwort auf: [#90255] Top
 
oesi50  A  S
Beiträge: 2315
10. Jun 2004, 20:16
Beitrag #10 von 12
Beitrag ID: #90277
Bewertung:
(2558 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Formular / Array / auslesen


so muss es sein:

for (var count=0; count < 6; count++){
if (!check_empty(document.test[Abfrage[count]].value) ){

die Variable count darf nur von 0 bis 5 laufen (das sind schon 6)

document.test['name'].value ist dein Text

'name' wird durch Abfrage[count] ersetzt


function validateTest(dieAbfrage){

dieAbfrage ist überflüssig.

so geht's besser:

function validateTest(){

Der aufruf ist dann onclick="validateText()"

onclick kann natürlich auch ein anderes Ereignis sein.

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#90255]
(Dieser Beitrag wurde von oesi50 am 10. Jun 2004, 20:33 geändert)
Top
 
Anonym
Beiträge: 22827
10. Jun 2004, 20:28
Beitrag #11 von 12
Beitrag ID: #90279
Bewertung:
(2558 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Formular / Array / auslesen


irgendwie klappts immer noch nicht, da muß wohl noch woanders
der Wurm drin sein. trotzdem vielen vielen Dank für Deine tat-
kräftige unterstützung.

bis denn


fool
als Antwort auf: [#90255] Top
 
oesi50  A  S
Beiträge: 2315
10. Jun 2004, 20:58
Beitrag #12 von 12
Beitrag ID: #90282
Bewertung:
(2558 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Formular / Array / auslesen


ich habs mal getestet, bei mir läufts genau so:

<HTML>
<BODY>
<SCRIPT LANGUAGE="JavaScript" type="text/javascript"><!--
function validateTest(){
validity = true;
var wert = 0;
Abfrage = new Array(6);
Abfrage[0] = "name";
Abfrage[1] = "vorname";
Abfrage[2] = "strasse";
Abfrage[3] = "plz";
Abfrage[4] = "ortschaft";
Abfrage[5] = "telefon";
for (var count=0; count < 6; count++){
if (!check_empty(document.test[Abfrage[count]].value) ){
wert++;
}
}
if (wert>0){
validity = false; alert('Formular ist unvollstaendig');
}
else{
alert ("Vielen Dank für Ihre Anmeldung!.");
return validity;
}
}

function check_empty(text) {
return (text.length > 0); // gibt false zurück wenn leer
}
//-->
</SCRIPT>

<FORM METHOD=POST ACTION="" name="test">
<INPUT TYPE="text" NAME="name">
<INPUT TYPE="text" NAME="vorname">
<INPUT TYPE="text" NAME="strasse">
<INPUT TYPE="text" NAME="ortschaft">
<INPUT TYPE="text" NAME="plz">
<INPUT TYPE="text" NAME="telefon">
<INPUT TYPE="button" onclick="validateTest()">
</FORM>
</BODY>
</HTML>


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#90255]
(Dieser Beitrag wurde von oesi50 am 10. Jun 2004, 22:02 geändert)
Top
 
X