• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Js fehler

MasterD

New member
hi,

hab da nin script das soll was machen , wenn in dem einen frame die checkbox angeklickt ist komtm alert geht auch mit

if(parent.radarop.document.formop.text.checked)

nur hab ich das problem das ab und zu der frame nicht so schnell geladen ist , dann spuckt er einen fehler aus , wi kann ich das machen das nix kommt ?
 
Frames

Moin moin,

also ich seh es so, Du hast min zwei Frames, in dem einen steht der "alert()" befehl, in dem anderen Deine Checkbox. ich denke mal, der Frame mit dem "alert()" haut die Fehlermeldung raus. ich weiß jetzt nicht so genau wie Du das "alert()" realisiert hast, aber stecke das ganze doch in eine Funktion welche Du mit onLoad des zweiten Frames startest, dann sollte es gehen.
In diesem Sinne.

Marko
 
Abfrage, ob Frame fertig?

ich habe das gleiche Problem und möchte es nochmal beschreiben.

eine Seite besteht aus zwei Frames, die unterschiedlich schnell aufgebaut werden.
Im unteren Frame lese ich eine access-tabelle und fülle die daten in den unteren frame
am ende des Lesens weiss ich erst wieviele Sätze in der access-tabelle waren
und diese Anzahl-Sätze muss ich im oberen Frame anzeigen.

mache ich es im unteren frame
parent.frame.oben.form.feld.value = self.document.form.feld.value;
und der obere Frame ist noch nicht fertig, kommt Fehlermeldung

mache ich es im oberen Frame
self.document.form.feld.value=parent.frame.unten.form.feld.value
und der untere Frame ist noch nicht fertig, kommt Fehlermeldung

wie kann ich abfrragen, ob der jeweils andere frame schon fertig aufgebaut ist?
damit ich dann auf felder oder functions zugreifen kann?

Gruss Sonja
 
Testing...

Moin moin Sonja,

da mußt Du einfach mal etwas experimentieren, eventuell bringt die der onLoad im <body> schon etwas. Mir sagt Deine Anwendung jetzt grad nicht so viel, derzeit denke ich mal, das Du eie riesige Tabelle in ein <form> schreibst und dann eine spezielle Zelle ausließt, wenn diese nicht da ist, bekommst Du natürlich ein undefiniert. Hast Du die Möglichkeit in dieser Zelle, oder in einer anderen eine Variable zu setzen? sowas wie

Code:
<script>Test=1</script>

???
Das Problem ist ja, das er die Tabelle von vorn nach hinten durcharbeitet, würdest Du jetzt den Befehl so dahinter schreiben (nicht in die Tabelle) würde er die Variable gleich auf ein setzen, weil er, solange die Tabelle geladen wird, schonmal im Quelltext weiter geht. Als nächstes würde ich im Kopf die Variable "TEST" auf "0" setzen und diese Null von anderen Frame abfragen. Sprich, solange da eine Null drin steht, nicht das Tabellenfeld auslesen. Aber versuch erst einmal das "onLoad" <lächel>.
Ein schönes Wochenende noch.

Marko
 
ein onload kann ich nicht verwenden , aber laut einem kumpel gitb es eoinen befehl wie noerror aber er weis nicht mehr wie mann den einbaut
 
Moin

Man gehe mal zu http://www.jswelt.de/ und klaue Michis Scripts ;):
Code:
<script>
// JS-Fehler unterdruecken
onerror = stopError;
function stopError()
{
return true;
}
</script>
Inwieweit das auf welchen Browser funzt hab ich nicht ausprobiert.

Aber so kommt dann deine alert-box ja nicht, also könntest du höchstens noch ne Variable auf true setzten, dass der Browser weiß, dass der Fehler durch deine alert-function verursacht wurde und dann, wenn diese Variable true ist, mit nem Timeout deine function nochmal aufrufen oder sowas.

Ansonsten gibts für den IE noch ne Methode rauszufinden, ob der Frame geladen ist. In
Code:
document.all.framename.readystate
steht ne Zahl drin, die den Ladestatus anzeigt. Bei 4 ist der Frame geladen.


Gero
 
@sonja: korrigiere mich, wenn ich falsch liege, aber die Access Tabelle liest Du doch nicht mit Javascript aus? D.h. da liegt doch ein Serverseitiges Skript vor, welches die Daten der Datenbank aufbereitet und die HTML Datei zusammenstellt?!? Wo ist dann ds Problem im anderen Frame ein Skript auf dem Server abzulegen, welches einen "select count(*) from table;" absetzt??? Das ist viel sicherer, und sauberer, vor allem aber läuft es auch in jedem Browser!!
 
Hi albu;

da liegst du genau richtig, ich dachte nur dass 2 select's serverseitig langsamer sind als ein
clientseitiger Zugriff auf eine variable.

Aber du hast recht, dies ist wohl der sicherste Weg.

Danke Sonja
 
Zurück
Oben