php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Input-Feld mit ExtJS-Eigenschaften


 
Kangarooo
07-03-2011, 15:37 
 
Hallo!
Ich habe ein normales Input-Field:
<input type='text' class='half' name='umsatz' value='' id='umsatz' />Nun möchte ich das Feld mit Eigenschaften von ExtJS belegen, leider klappt das noch nicht so ganz, mein ExtJS sieht bis jetzt so aus:
<script type="text/javascript">
var number = new Ext.form.NumberField({
allowDecimals : true,
allowNegative : false,
minValue : 0;
emptyText:'Wert in Euro eingeben...',
selectOnFocus:true,
});
number.applyTo('umsatz');
</script>Kann mir da jemand weiterhelfen, was da noch nicht passt? Leider werden die Eigenschaften nicht angenommen!

 
AmicaNoctis
07-03-2011, 15:56 
 
Hallo,

mal wieder der übliche Versuch, auf Elemente zuzugreifen, die noch gar nicht existieren? Du darfst den Code erst ausführen, wenn window.onload gefeuert wurde (oder später).

Gruß,

Amica

 
Kangarooo
07-03-2011, 15:58 
 
Ähhhh...! Mh.
Also ich habe erst das Input Feld erzeugt, und weiter unten kommt dann erst der Teil von ExtJS. Ist das nicht richtig?

 
AmicaNoctis
07-03-2011, 16:01 
 
Ich finde script-Blöcke außerhalb des head-Elements doof (ist aber vermutlich Geschmackssache) und arbeite lieber mit window.onload, um die Dinge zu erledigen, die erst nach dem vollständigen Laden der Seite passieren dürfen.

Beispiel:


<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="irgendeineLibrary.js"></script>
<script type="text/javascript">/*<![CDATA[*/
window.onload = function () {

// hier der Code der ausgeführt werden soll, wenn die Seite vollständig geladen ist.

};
/*]]>*/</script>
<title>...</title>
</head>
<body>
...
</body>
</html>

 
Kangarooo
07-03-2011, 16:05 
 
Könntest du mir bitte sagen, wie du dann die function mit onload im Head-Bereich aufrufen würdest?

 
wahsaga
07-03-2011, 16:08 
 
Könntest du mir bitte sagen, wie du dann die function mit onload im Head-Bereich aufrufen würdest?
Der Aufruf ist doch schon drin im Beispiel - durch die Zuweisung der Referenz auf die Funktion an den Eventhandler, der sie dann ausführen wird.
Du musst nur noch den im Beispiel leeren Funktionsrumpf mit Code füllen ... überraschenderweise genau an der Stelle, wo im Beispiel schon ein entsprechender Kommentar steht ...

 
AmicaNoctis
07-03-2011, 16:08 
 
Na einfach den Code, den du hast, dorthin kopieren, wo "// hier der Code [...]" steht. (Natürlich ohne die script-Tags.)

 
Kangarooo
07-03-2011, 16:11 
 
Oh man das tut mir leid! Ich hatte den Block mit dem Beispiel von dir überhaupt nicht gesehen!! Vielen dank, jetzt weiss ich es natürlich!

 
Kangarooo
07-03-2011, 16:22 
 
Also es sieht jetzt folgendermaßen aus, funktioniert leider immer noch nicht!
im Head Bereich:

<script type="text/javascript">
window.onload = function () {

var number = new Ext.form.NumberField({
allowDecimals : true,
decimalSeparator :".",
allowNegative : false,
minValue : 0,
emptyText:'Wert in Euro eingeben...',
selectOnFocus:true,
allowBlank:false,
});
number.applyTo('umsatz');

};
</script>
und dann weiter unten in meinem Formular gibt es dieses Feld:


<input type='text' class='half' name='umsatz' value='' id='umsatz' />

 
wahsaga
07-03-2011, 16:30 
 
Also es sieht jetzt folgendermaßen aus, funktioniert leider immer noch nicht!
Dann lerne doch jetzt bitte langsam mal, mit der JavaScript-Fehlerkonsole umzugehen, um uns weitere „funzt nich“-Postings zu ersparen, und uns stattdessen schon bald vielleicht mit halbwegs vernünftigen Problembeschreibungen erheitern zu können.

 
AmicaNoctis
07-03-2011, 16:40 
 
Hast du vorher die Library eingebunden?

 
Kangarooo
07-03-2011, 16:48 
 
Jawoll, ist alles eingebunden. Die Fehlerkonsole bringt mir folgendes:
number.applyTo is not a function

 
AmicaNoctis
07-03-2011, 17:02 
 
Onlinebeispiel?

 
Kangarooo
07-03-2011, 17:08 
 
Nein, ist alles lokal bei mir auf dem rechner! Naja, muss ich eben mal versuchen, hätte ja sein können dass ihr einen Fehler bei mir im ExtJS entdeckt oder so. Trotzdem vielen dank!


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:42 Uhr.