onpropertychange für Firefox!?

Crav3X

Erfahrenes Mitglied
Hallo,

ich habe ein Inputfeld(text) welches ich über einen Kalender(JS) mit einem Datum fülle. Nun ist es im IE schön und einfach mittels "onpropertychange" das mit zu bekommen und dann einen function aufzurufen die ich als nächstes benötige.

Nur gibts "onpropertychange" nur im IE. Das is doof... was kann ich nutzen um es in allen Browsern zum laufen zu kriegen!?

Vielen Dank
 
Vielen Dank für die Antwort.

HTML:
<INPUT DATATYPE='DATE' OPTIONAL=0 TYPE='TEXT' 
CLASS='TEXTBOX_READONLY' READONLY MAXLENGTH='10' NAME='Txt_DATUM' oninput='GotoDate(this.value);'  ONPROPERTYCHANGE='GotoDate(this.value);'>

So läuft es leider nicht :(
Eine andere Idee?


Das Datum wird nicht durch den Benutzer eingetragen. Das Datum wird per (.innerHTML) in das Textfeld eingetragen. Dann soll die Funktion "GotoDate()" aufgerufen werden.
 
Zuletzt bearbeitet:
Ich habe nun einen anderen recht einfachen Weg gefunden.

Nochmal mein genaues vorhaben:
Ich habe ein Javascript Kalender über den ein Tag (zb: 22.11.2009) ausgewählt werden kann(onclick) und dieses Datum in ein Textfeld eingetragen wird (getElementById("txtfeld").value ).

Das Textfeld ist Readonly

Wenn dort etwas eingetragen wird (Datum) soll automatisch eine Javascript Funktion aufgerufen werden.

Habe es so gelöst um es in allen Browsern lauffähig zu bekommen.

HTML:
<script>
function set()
{
	document.getElementById("txtfeld").value = "22.11.2009";
	document.getElementById("txtfeld").focus();
}

function doAnything()
{
***
}
</script>

<!-- Der Button stellt jetzt die auswahl im Kalender da -->
<input type="button" onclick="set();"/>

<input type="text" id="txtfeld" readonly onfocus="doAnything()" onpropertychange="doAnything()"   value=" " />

So läuft es im IE (durch "onpropertychange") , FF und Safari.

Hoffe es hilft jemanden der auch das Problem hat alte Programme Browserkompatibel zu machen.... IE ist die hölle.... -.-

Vielen Dank!
 
Hi,

wenn du weisst, dass du die Routine nach dem Ändern des Wertes ohnehin ausführen möchtest, könntest du sie doch der Funktion set auch als Argument übergeben. So könntest du die Browserinkompatibilitäten umgehen.

Beispiel:
Code:
<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
  <!--
function set(strID, objFn){
  var objThis = document.getElementById(strID);
  objThis.value = "22.11.2009";
  objThis.focus();
  if(typeof objFn == "function")
    objFn(objThis);
}

function doAnything(objThis){
  alert("Mein neuer Wert: " + objThis.value);
}
 //-->
</script>
</head>
<body>
<input type="button" onclick="set('txtfeld', doAnything);">
<input type="text" id="txtfeld" readonly="readonly" value=" ">
</body>
</html>

Im Beispiel wird der Funktion neben dem Funktionsobjekt die ID des Objekts als String übergeben. Damit sollte die Routine möglichst universell einsetzbar sein.

Ciao
Quaese
 

Neue Beiträge

Zurück