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:
prj = this[this.selectedIndex].value;
var status = document.forms[0].time_savestate.value;
prjchange(prj,status);
Die Funktion prjchange ist im JS-Header:
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:
<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:
tmp:=@DbLookup("":"NoCache"; ID_ZeiterfassungStammdaten;"WebProjectmasterdata";Key;3;[FailSilent]);
tmp
und
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
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
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...
Habe jetzt:
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
???
Feldwert auslesen aus Dokument in JS:
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
@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.
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!