Existenz eines Feldes prüfen
Chantal S.
- javascript
0 romy0 Chantal S.0 romy0 Chantal S.0 romy
0 Kube
Hallo zusammen,
kennt jemand eine Möglichkeit, um in JavaScript zu prüfen ob ein Hiddenfeld existiert?
Meine Situation:
Ich generiere automatisch(dynamisch) Hiddenfelder. Feld(1), Feld(2) usw.
Ich will nun herausfinden ob es ein Feld(1) gibt. Wenn es dieses nicht gibt, gibt es ein Feld2? usw.
Ich bekomme immer die Fehlermeldung: ... ist Null oder kein Objekt.
Ich weiss, dass dieses Feld1 NICHT existiert.
Wie kann ich nun mit JavaScript abfragen ob ein Feld vorhanden ist oder nicht?
Für Vorschläge bin ich echt dankbar.
Chantal S.
Hi,
Ich bekomme immer die Fehlermeldung: ... ist Null oder kein Objekt.
wie sieht dein code aus?
Woher soll irgendjemand erraten was Du geschrieben hast und wieso es diese Fehlermeldung provoziert?
ciao
romy
Hallo,
der komplette Code ist leider viel zu Lang, ich habe mal die wichtigsten Stellen herausgeschnitten und ein paar Erklärungen angegeben.
Gruß Chantal
function aufZahlenPruefen()
{
for(i=0;i<document.AuswahlDatensatz.AlleFelder.value;++i)
{
if(document['AuswahlDatensatz']['Zahlen'+'i'].value)
{
alert(document['AuswahlDatensatz']['Zahlen'+'i'].value);
}
else
{
alert("raus");
}
}
es werden erst aus einer DB Daten ausgelesen und das ist nun die Stelle, an der man die Daten ändern kann.
Nun soll aber an der Stelle wo sich in der DB Zahlen befinden zusätzlich ein Hiddenfeld erzeugt werden.
Das Formular heisst:AuswahlDatensatz, AlleFelder ist die Anzahl der Spalten der Tabelle.
response.write("Bitte nur Zahlen eingeben!")
Zahl = 1
%>
<input type=hidden name="Zahlen<%=(i)%>" value="<%=rs(i).value%>">
<input type=text size=30 name="Bearbeitung<%=(i)%>" maxlength="<%=rs(i).definedSize%>" value="<%=rs(i).value%>">
<input type=button value="Eintrag speichern" onClick="return aufZahlenPruefen()">
Das Ziel was ich bei dieser Aktion habe ist, dass ich prüfen will ob wirklich Zahlen eingegeben wurden.
Hi,
Das Ziel was ich bei dieser Aktion habe ist, dass ich prüfen will ob wirklich Zahlen eingegeben wurden.
ich kann DIr nicht sagen, was Dein Problem beim jacascript ist
vielleicht:document['AuswahlDatensatz']['Zahlen'+'i'].value
^^^^^
i ohne '' da es ja eine Variable ist?
ABer für solche Sachen gibt es funktionen
is_number, is_numeric oä.
http://selfhtml.teamone.de/javascript/sprache/operatoren.htm#typeof
lass es doch schon serverseitig mit ASP prüfen, das hat bestimmt jede Menge FUnktionen dafür.
Ausserdem prüft es auch wenn Javascript abgeschaltet ist.
ciao
romy
Hallo,
i ohne '' da es ja eine Variable ist?
habe ich ausprobiert, macht keinen Unterschied.
Das mit dem Prüfen habe ich jetzt in ASP gemacht, aber ich muss trotzdem noch wissen ob, und wenn ja, wie man abfragt, ob ein Feld existiert.
(Wegen einem Alert, was sagt das nur Zahlen angegeben werden sollen)
Gruß Chantal
Hi,
(Wegen einem Alert, was sagt das nur Zahlen angegeben werden sollen)
d.h, wenn hiddenfeld 1 da ist, wird ein alert ausgegeben "nur zahlen eingeben" und wenn beispielsweise hiddenfeld2 da ist, wird ein alert ausgegeben "nur strings eingeben"
verstehe ich das Richtig?
Auch das würde ich serverseitig machen. Wenn DU die hidden-fields generierst, muss ja das Script wissen, welche es generieren soll, oder?
ALso generiere auch den funktionsaufruf mit, d.h. welcher text beim alert ausgegeben werden soll.
Habe mal nachgeschaut, aber keine passende Funktion gefunden um nachzusehen ob ein bestimmtes Objekt da ist.Mximal sowas wie getElementsByTagName(), wo Du dann nach inputfeldern selektieren kannst, kenne aber die genaue Verfahrensweise nicht, sorry
ciao
romy
Hallo,
Naja, da kann man nix machen, dann muss ich mal weiter schauen, aber trotzdem vielen Dank für deine Mühe.
Gruß Chantal
Hallo,
for(i=0;i<document.AuswahlDatensatz.AlleFelder.value;++i)
{
if(document['AuswahlDatensatz']['Zahlen'+i] && document['AuswahlDatensatz']['Zahlen'+i].value)
{
alert(document['AuswahlDatensatz']['Zahlen'+i].value);
}
else
{
alert("raus");
}
}
so sollte es gehen.
Im übrigen würde ich das wirklich serverseitig testen, wie romy vorgeschlagen hat.
Gruss
Kube