# JavaScript var an bean Setter übergeben



## puma (18. Jun 2015)

Hi Community, 
Das ist meine erste Foren Frage, da ich an dieser Stelle einfach nichts in der Richtung gefunden habe, das mir weiter geholfen hat.
Sitze schon länger an dem Problem und kann sein, dass ich mich da etwas verbissen hab und den Wald mal wieder vor lauter Bäumen nicht sehe..
Also, ich benutze eine JSF Seite mit Primefaces CommandButtons, die sich mittlerweile auch (dank CSS) dynamisch der Browsergröße anpassen. Problem dabei ist, wenn das Browserfenster zu klein wird, geht die Beschriftung der Buttons über die Grenzen der Buttons hinaus. Nun will ich die Schriftgröße auch dynamisch setzten. Mein Ansatz sieht wie folgt aus:

```
<script type="text/javascript">
      window.onresize = function changeFontSize()
      {
         var newSize = new String;
         newSize = String(window.innerWidth/10);
         #{duplicator.setFontSize(newSize)};
   </script>
```
Die Funktion wird ausgeführt, errechnet einen Wert (die Formel kann ja später noch angepasst werden) aber sendet diesen errechneten Wert nicht an die setFontSize... Wenn ich einen Fixen Wert (String) eintrage, etwa

```
#{duplicator.setFontSize("200")};
```
funktioniert es.

Achso, die setFontSize() Funktion setzt eine Variable in der duplicator-Bean, die dann so an den commandButton übergeben wird:

```
<p:commandButton id="vlcjcomponent" action="#{capture.connector()}" value="captureserv" icon="ui.icon-link" style="width: 100%; font-size: #{duplicator.fontSize}%;"/>
```

Die fontSize über getElementById("vlcjcomponent").style.fontSize zu setzten klappte auch aus unerfindlichen Gründen nicht, deshalb der Umweg über die Bean.

Da ist ja jetzt "nur" noch das Problem, dass sich fixe Werte an die Setter übergeben lassen, JavaScript Variablen nicht, bzw. nicht so... 

Ich würde mich tierisch über schnelle und gute Antworten und Tipps freuen, danke schonmal im Vorraus 

PS: die Code schnipsel sind abgetippt, da copy-paste i-wie nicht funktionierte, ich hoffe einfach mal, dass ich keine groben Tippfehler gemacht hab^^


----------



## Henne079 (19. Jun 2015)

Hallo,
du machst zwar die geschwungene Klammer auf, allerdings nicht mehr zu.

```
<script type="text/javascript">
window.onresize = function changeFontSize()
{
     var newSize = new String;
     newSize = String(window.innerWidth/10);
     #{duplicator.setFontSize(newSize)};
[B]}[/B]
</script>
```


----------



## stg (19. Jun 2015)

Was du vorhast geht ganz leicht mit der PrimeFaces Komponente "remoteCommand" ... du nutzt ja augenscheinlich sowieso PF
PrimeFaces ShowCase


----------

