Formular - Javascript-Attribute?

Das Forum soll der Ablage von Lösungen für immer wieder auftauchende Problemstellungen dienen. // This forum contains solutions to problems that frequently occur.
Antworten
APFelsahne
Beiträge: 222
Registriert: 18.03.2010, 13:13:07
Wohnort: Ludwigshafen am Rhein
Kontaktdaten:

Formular - Javascript-Attribute?

Beitrag von APFelsahne » 21.04.2010, 15:46:51

Hiho!

Weiß grad nicht so recht weiter, wie pflegt man denn die Javascript-Attribute korrekt in ein Formularelement ein (damit mein ich onfocus, onclick, etc...)?

der folgende funktioniert nicht, da onfocus beispielsweise nicht in der whitelist des form_taglib_text steht.

Code: Alles auswählen

....
	<form:text  id="textfeld" 
				name="textfeld" 
				onfocus="javascript:clearInput(this,'textfeld');"
				validate="true" 
				button="sSubmit" /> 
....
Ist das gar nicht bedacht oder gewünscht? Oder soll man sich eine eigene taglib erstellen, die das zulässt?

Grüße!
Grüße, Florian
BildAPF-Extension wsCatalyst

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: Formular - Javascript-Attribute?

Beitrag von Screeze » 21.04.2010, 15:56:49

Generell sollten inline-scripts eigentlich vermieden werden, weshalb das wohl auch nicht in der whitelist steht.

Dementsprechen würde ich eher einen kleinen <script> bereich ins formular setzen, der die entsprechenden events belegt.

Es gibt allerdings glaube ich auch eine möglichkeit die Whitelist zu erweitern aus dem documentcontroller heraus, allerdings kann ich dir grad nicht sagen wie, habe keinen zugriff auf code im moment.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4527
Registriert: 04.11.2007, 16:13:53

Re: Formular - Javascript-Attribute?

Beitrag von dr.e. » 21.04.2010, 17:42:58

Hallo zusammen,

die in der Whitelist aufgenommenen Attribute wurden aus dem XHTML-1.1-Strict-Standard gezogen. Dort steht folgendes:

Code: Alles auswählen

<!ELEMENT input EMPTY>     <!-- form control -->
<!ATTLIST input
  %attrs;
  %focus;
  type        %InputType;    "text"
  name        CDATA          #IMPLIED
  value       CDATA          #IMPLIED
  checked     (checked)      #IMPLIED
  disabled    (disabled)     #IMPLIED
  readonly    (readonly)     #IMPLIED
  size        CDATA          #IMPLIED
  maxlength   %Number;       #IMPLIED
  src         %URI;          #IMPLIED
  alt         CDATA          #IMPLIED
  usemap      %URI;          #IMPLIED
  onselect    %Script;       #IMPLIED
  onchange    %Script;       #IMPLIED
  accept      %ContentTypes; #IMPLIED
  >
<!ENTITY % focus
 "accesskey   %Character;    #IMPLIED
  tabindex    %Number;       #IMPLIED
  onfocus     %Script;       #IMPLIED
  onblur      %Script;       #IMPLIED"
  >
Du hast also Recht, das Attribut "onfocus" müsste für ein Text-Feld zulässig sein. Ich werde das beheben und hier Bescheid geben. In der Zwischenzeit kannst du einfach in der Klasse das entsprechende Attribut im Konstruktor aufnehmen. "onclick" ist wiederum nicht erlaubt und wird daher auch nicht in die Whitelist aufgenommen.

Die saubere Lösung ist jedoch das Verhalten von Aussen zu injizieren wie Ralf schon vorgeschlagen hat.
Viele Grüße,
Christian

APFelsahne
Beiträge: 222
Registriert: 18.03.2010, 13:13:07
Wohnort: Ludwigshafen am Rhein
Kontaktdaten:

Re: Formular - Javascript-Attribute?

Beitrag von APFelsahne » 22.04.2010, 09:59:42

Hallo!

Ok, vielen Dank für die Antworten, ich werde dann das System des von außen injizieren nutzen. :)

Grüße!
Grüße, Florian
BildAPF-Extension wsCatalyst

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast