Ik heb een webcomponent gemaakt als een JSP taglib. Deze werkt opzich uitstekend. Belangrijk aspect van dit component is dat het een form renderd die na een bepaalde client-side actie gesubmit wordt.
Nu wilde ik dit component ook in een JSF omgeving kunnen gebruiken. Binnen deze omgeving zorgt de JSF view tag er dikwijls voor dat alle componenten al binnen een form vallen. Ik kan mijn JSP component hier in toevoegen door zelf geen form tags te renderen.
Echter, als ik dat die weet ik niet wat de naam van het form is die ik moet submitten vanuit mijn javascript. Iets als this.form.submit(); werkt niet vanuit JS.
Wat technisch wel werkt, maar heel lelijk is:
Als ik deze code vanuit mijn component op de pagina 'inject' kan ik dus het onbekende form submiten. Helaas komt die button dan wel zichtbaar op mijn pagina, wat ik niet wil.
Is er een betere/standaard manier om dit probleem op te lossen? Wellicht de DOM tree omhoog aflopen vanaf een hidden element tot aan het eerste form element wat je tegen komt?
Nu wilde ik dit component ook in een JSF omgeving kunnen gebruiken. Binnen deze omgeving zorgt de JSF view tag er dikwijls voor dat alle componenten al binnen een form vallen. Ik kan mijn JSP component hier in toevoegen door zelf geen form tags te renderen.
Echter, als ik dat die weet ik niet wat de naam van het form is die ik moet submitten vanuit mijn javascript. Iets als this.form.submit(); werkt niet vanuit JS.
Wat technisch wel werkt, maar heel lelijk is:
HTML:
1
2
3
4
5
6
7
8
| <input type="button" value="bar" onclick="this.form.submit();" name="a" id="a" /> <script language="javascript" > function test() { var obj = document.getElementByID('a'); obj.click(); } </script> |
Als ik deze code vanuit mijn component op de pagina 'inject' kan ik dus het onbekende form submiten. Helaas komt die button dan wel zichtbaar op mijn pagina, wat ik niet wil.
Is er een betere/standaard manier om dit probleem op te lossen? Wellicht de DOM tree omhoog aflopen vanaf een hidden element tot aan het eerste form element wat je tegen komt?
[ Voor 6% gewijzigd door flowerp op 27-11-2005 12:57 . Reden: op verstuur ipv bekijk gedrukt. Topic title moet Form zijn ipv vorm :o ]
It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.