Firefox will, IE nicht
Markus
- javascript
Hallo Forum !
Ich habe neulich ein Javascript geschrieben, dass In einem PopUp Fenster etwas aus einem Formular ausliest udn es seinem Erzeugerfenster in einem Formular setzt.
Funktioniert wunderbar im Firefox und im Mozilla. Der IE weigert sich das Script auszuführen, ohne Fehlermeldeung etc.
Im Erzeugerfenster wird der Formulartext nicht gesetzt.
Vielleicht habe ich irgendeinen Fehelr im Script den der Firefox übergeht.
Hier mal der Code der Seite :
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-2">
<script type="text/javascript">
function setSchema() {
var schema = document.forms["schemalist"].elements["schemaname"].value;
if(schema!=null) {
opener.document.forms["schemaauswahl"].elements["schemaname"].value=schema;
close();
}
}
</script>
<style type="text/css">
input {
border: 1px solid #666666;
}
select {
border: 1px solid #666666;
padding: 3px;
font-family: Verdana;
font-size: 12px;
font-style: normal;
font-weight : npormal;
}
</style>
</head>
<body>
<form onSubmit="setSchema()" name="schemalist">
<div align="right">
<select size="25" name="schemaname">
<option>#ARS-Test-Client-AlertList</option>
<option>#ARS-Test-Client-Beschriftungen</option>
<option>#ARS-Test-Client-ChangeField-Actions</option>
...... viele options
</select>
<br>
<br>
<input src="gfx/go.jpg" type="image">
</div>
</form>
</body>
</html>
Hi,
ich zitiere von der JavaScriptConsole in Mozilla:
«Error: Error in parsing value for property 'font-weight'. Declaration dropped.
Source File: file:///C:/Temp/test.htm
Line: 25»
<html>
Doctype!
<form onSubmit="setSchema()" name="schemalist">
Ich weiß nicht inwiefern der IE sich hier mehr an die Standards (oder auch nicht) halten würde als Firefox - falls das ganze als XHTML interpretiert werden sollte, wäre onSubmit falsch - imho muss das klein geschrieben werden. Allerdings eine sehr unwahrscheinliche Theorie.
E7
Ok der HTML Code wird bei mir von xslt Sheets generiert.
Ich habe die Doctype Definition jetzt dabei gemacht, der Doctype wird jetzt auch mitgeneriert, ändert aber leider nichts an dem Problem.
Hab jetzt auch onsbmit, hat ebenfalls nichts gebrahct (Ist glaube ich auch egal, sogar für XHTML)
Seltsam ist aber dass bei dir der Mozilla den fehler anzeigt, und bei meinem Firefox funktioniert alles glatt.
Gruss
Markus
<script type="text/javascript">
function setSchema() {
var schema = document.forms["schemalist"].elements["schemaname"].value;
Du hast in slefhtml nachgeschaut, wie man an den ausgewählten Wert einer select Box kommt?
if(schema!=null) {
opener.document.forms["schemaauswahl"].elements["schemaname"].value=schema;
Wenn auch hier schmeaname ein select Box ist, geht das nicht. Im Zweifelaber auch mal testen ob das von dir gewünschte existiert:
var out = null;
if(opener && opener.document && opener.document.forms["schemaauswahl"]
&& opener.document.forms["schemaauswahl"].elements["schemaname"])+
out = opener.document.forms["schemaauswahl"].elements["schemaname"];
if(!out) return alert('Fehler');
out.value = schema;
close();
Aha!
du meinst window.close()
Struppi.
Schemaname ist ein normales Textfeld.
Deinen Code habe ich ausprobiert.
Der Fehler wird nicht ausgelöst, also findet er das Feld Schemaname
hi,
Schemaname ist ein normales Textfeld.
in deinem beispielcode steht
<select size="25" name="schemaname">
also entweder willst du uns verschaukeln, oder du weißt selber nicht, was du tust.
gruß,
wahsaga
Sorry bin mit meinen Bezeichnungen durcheinander gekommen :)
Schemaname ist die Liste.
Schemaauswahl ist das Textfeld.
Aber warum soll das nicht gehen ?
Vorallem weil Firefox es macht.
hi,
Sorry bin mit meinen Bezeichnungen durcheinander gekommen :)
Schemaname ist die Liste.
und darauf kannst du nicht mit
var schema = document.forms["schemalist"].elements["schemaname"].value;
zugreifen, weil select nun mal kein value-attribut hat.
da struppis frage,
Du hast in slefhtml nachgeschaut, wie man an den ausgewählten Wert einer select Box kommt?
vermutlich mit nein beantwortet werden muss, würde ich vorschlagen, du tust das jetzt mal.
gruß,
wahsaga
hi,
Sorry bin mit meinen Bezeichnungen durcheinander gekommen :)
Schemaname ist die Liste.
und darauf kannst du nicht mit
var schema = document.forms["schemalist"].elements["schemaname"].value;
zugreifen, weil select nun mal kein value-attribut hat.
Kann ja sein, aber wieso funzt es dann im Firefox
da struppis frage,
Du hast in slefhtml nachgeschaut, wie man an den ausgewählten Wert einer select Box kommt?
vermutlich mit nein beantwortet werden muss, würde ich vorschlagen, du tust das jetzt mal.
Ich habe nachgeschaut, aber dazu nichts gefunden.
Wie kann man dann auf den Inhalt eienr Selectbox zugreifen ?
hi,
Kann ja sein, aber wieso funzt es dann im Firefox
bitte rechiere im archiv, warum es hier absolut keinen menschen interessiert, ob irgendetwas irgendwo "funzt", wenn es trotzdem eindeutig _falsch_ ist.
Ich habe nachgeschaut, aber dazu nichts gefunden.
*seufz*
immer das selbe ... da wird vermutlich ein kurzer, oberflächlicher blick in selfhtml geworfen, und das reicht dann als "ausrede", um hier sagen zu können "ich hab gesucht, aber nix gefunden". irgendwie jämmerlich.
wenn du den abschnitt über den zugriff auf formularelemente bis zum ende gelesen hättest, wärst du auf
Beachten Sie:
Auswahllisten kommen hier nicht vor. Um mit JavaScript auf solche Listen zuzugreifen, steht das Unterobjekt options zur Verfügung.
gestossen. und auch das "options" ist wiederum verlinkt.
aber das war vermutlich zu viel arbeit, und deshalb fragst du lieber gleich wieder hier nach, anstatt dich mal selber zu kümmern, oder ...?
gruß,
wahsaga
und darauf kannst du nicht mit
var schema = document.forms["schemalist"].elements["schemaname"].value;
zugreifen, weil select nun mal kein value-attribut hat.
select-Elementobjekte haben eine value-Eigenschaft, zumindest theoretisch.
Mathias
hi,
select-Elementobjekte haben eine value-Eigenschaft, zumindest theoretisch.
danke für den hinweis.
dann wird das wohl auch der grund sein, warum es in seinem gecko ge"funzt" hat.
gruß,
wahsaga