Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: LisaS am 17.11.04 - 10:39:10

Titel: Java Script funktioniert mit m. Java 1.3 und mit Sun 2 nicht?
Beitrag von: LisaS am 17.11.04 - 10:39:10
Hallo,
gleich zuerst: Java Script ist nich unbedingt meine Welt.
Deshalb meine Frage:
Folgende Scripte Funktionieren im IE mit dem 'Microsoft Java', wenn man das Sun Java 2 aktiviert hat gibt es Streß.
In einer Teilmaske  gibt es ein Feld 'project' mit dem
onChange:
Code
prj = this[this.selectedIndex].value;
var status = document.forms[0].time_savestate.value;
prjchange(prj,status);
Die Funktion prjchange ist im JS-Header:
Code
function prjchange(prj,status){
if(status == 0){
document.all("ifr").style.top =825;
document.all("ifr").style.visibility = "visible";
document.all("HidFrame").src= "tasklookup?ReadForm&key="+prj;
}
else
{
document.all("ifr").style.top =860;
document.all("ifr").style.visibility = "visible";
document.all("HidFrame").src= "../tasklookup?ReadForm&key="+prj;
}
}
und im hidden Frame öffnet sich die Maske tasklookup die folgenden Code ausführt:
Code
<script>

//set Customer and Project !!!!!!!!!!!!!!!!!!!!!!!!!DAS FUNKTIONIERT NICHT!!!!!!!!!!!!!!!!!!!!!
customer = ("<berechneter wert>")
window.parent.document.all("time_CustomerName").value = customer
project = ("<berechneter wert>")
window.parent.document.all("time_PrjName").value = project
</script>
die Berechneten Werte:
Code
tmp:=@DbLookup("":"NoCache"; ID_ZeiterfassungStammdaten;"WebProjectmasterdata";Key;3;[FailSilent]);
tmp
und
Code
tmp:=@DbLookup("":"NoCache"; ID_ZeiterfassungStammdaten;"WebProjectmasterdata";Key;2;[FailSilent]);
tmp


Warum funktioniert der "//set Customer and Project" Teil im IE mit Java 1.3 und mit dem Sun Java nicht?

Über Tipps und Anregungen würde ich mich sehr freuen!! :D
Gruß
Hitcher
Titel: Re: Java Script funktioniert mit m. Java 1.3 und mit Sun 2 nicht?
Beitrag von: umi am 17.11.04 - 11:18:31
JavaScript läuft im Browser, JAVA in der JVM, von daher sollte dies keinen Einfluss haben.

SChon mal mit Try Catch eine Fehlermeldung erobert?

z.B. um Deinen Block ein
Code
try
{
//set Customer and Project !!!!!!!!!!!!!!!!!!!!!!!!!DAS FUNKTIONIERT NICHT!!!!!!!!!!!!!!!!!!!!!
customer = ("<berechneter wert>")
window.parent.document.all("time_CustomerName").value = customer
project = ("<berechneter wert>")
window.parent.document.all("time_PrjName").value = project
} 
catch (e)
{
 alert(e.description);
}

Oder das ganze mal im JS Debugger vom Mozilla laufen lassen?

bzw. was heisst eigentlich "Funktioniert nicht"?
Gibts fehlermeldungen, macht er überhaupt nichts etc...
Titel: Re: Java Script funktioniert mit m. Java 1.3 und mit Sun 2 nicht?
Beitrag von: LisaS am 17.11.04 - 11:23:08
sorry, die Felder werden nicht gefüllt.
Wenn ich im IE die Option Sun Java 2.irgentwas aktiviere
werden die Felder nicht gefüllt.
Wenn ich die Option deaktiviere werden sie gefüllt.
Das Prob. ist manche User haben es aktiviert und manche nicht.

Gruß
Hitcher
Titel: Re: Java Script funktioniert mit m. Java 1.3 und mit Sun 2 nicht?
Beitrag von: umi am 17.11.04 - 11:26:21
Ist das Feld "Key" ausgefüllt?
versuch doch mal ein
alert(customer);
bzw.
alert(project);
einzufügen ...

verwendest du irgendwelche applets?
Titel: Re: Java Script funktioniert mit m. Java 1.3 und mit Sun 2 nicht?
Beitrag von: m3 am 17.11.04 - 11:36:37
1) Java != JavaScript !!!!!!!    >:(
Zitat
Java ist nicht mit der Programmiersprache JavaScript zu verwechseln, die ebenfalls in Web-Browsern verwendet wird. Sie hat eine ähnliche Syntax, kennt aber keine Vererbung. Objekte werden in JavaScript prototypenbasiert definiert. JavaScript ist, wie der Name sagt, eine reine Skriptsprache. Es existieren Implementationen vor allem in Web-Browsern, aber auch alleinstehende Ausführungsumgebungen sind vorhanden.
http://de.wikipedia.org/wiki/Java_%28Programmiersprache%29#JavaScript

2) Dein Problem hat also nichts mit den unterschiedlichen JavaVirtual Machines zu tun.

3) Versuchs nicht mit "window.parent.document.all(....", sondern gib deinen Elementen eine "id" und greif auf die Elemnte mittels getElementById, das funktioniert auch im Mozilla, ....

4) Die Alerts von umi sind auch eine gute Idee.
Titel: Re: Java Script funktioniert mit m. Java 1.3 und mit Sun 2 nicht?
Beitrag von: LisaS am 17.11.04 - 11:37:19
Wenn ich debugge kommt die Fehlermeldung:
Error: document.all is not a function
Source File: https://webmail.lynx.de/lynx/LyPSAAufw.nsf/391a8c2b8f4493d2c1256e9f00324821?OpenForm
Line: 263

werde es mal mit getElementById versuchen.
Titel: Re: Java Script funktioniert mit m. Java 1.3 und mit Sun 2 nicht?
Beitrag von: LisaS am 17.11.04 - 12:13:51
Habe jetzt:
Code
customer = ("");
document.getElementById("time_CustomerName").value = customer;
eingebaut und dem Feld die ensprechende ID gegeben.

jetzt kommt der Fehler:

'document.getElementByID(...)' ist Null oder kein Objekt

 ???
Titel: Re: Java Script funktioniert mit m. Java 1.3 und mit Sun 2 nicht?
Beitrag von: m3 am 17.11.04 - 12:32:30
Ist "document" auch der frame/fenster, welches das gewuenschte  Feld beinhaltet?
Titel: Re: Java Script funktioniert mit m. Java 1.3 und mit Sun 2 nicht?
Beitrag von: umi am 17.11.04 - 13:26:48
Feldwert auslesen aus Dokument in JS:
Code
var fields = document.forms[0];

var feldwert = fields.FeldName.value;

Ausserdem ist JS Case Sensitiv
daher dürfte "getElementByID" einen Fehler werfen, da es eigentlich
"getElementById" heissen müsste
Titel: Re: Java Script funktioniert mit m. Java 1.3 und mit Sun 2 nicht?
Beitrag von: LisaS am 17.11.04 - 14:13:33
@m3:
Die Teilmaske enthält die Felder die gefüllt werden sollen.
In einem hidden Frame ist eine Maske eingebettet die unter anderem
dieses Script enthält.
Code
customer = ("<berechneter Wert>");
document.getElementById("time_CustomerName").value = customer;

Dann bezieht sich dokument wahrscheinlich nur auf die eingebettete Maske, oder?
hmm, wie bekomme ich denn den Bezug auf die Teilmaske?
@all:
Gruß und schonmal vielen Dank für die Hilfe!