You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Stefan Gesigora <sg...@gmx.net> on 2006/05/29 14:38:00 UTC
How to pass value from javascript to backing-bean?
Hi!
How can I pass a value set with javascript (f.e.):
"document.getElementById("form:selListRow").value = idrow"
into my backing-bean?
I got a datatable where the user can select a row. The selected row is highlighted and then the user can press an "addRow"-commandLink (with image) which add the selected row to another table.
The row selection and reading the selectedRow-id works. I can set the idrow via js to the hidden inputfield "selListRow". But the setter of the backing-bean attribute used in this hidden inputfield were never called.
What should I have to do?
Thanks,
Steven
here's my code:
---snip--
...
<script language="JavaScript" type="text/javascript">
function colorizeRow(idrow) {
var rsListSize = document.getElementById("form:rsListSize").value;
if (rsListSize != null && rsListSize != ""){
for (var i = 0; i < rsListSize; i++){
if (i % 2 == 0){
document.getElementById(i).className = "standardTable_Row1";
} else {
document.getElementById(i).className = "standardTable_Row2";
}
}
}
document.getElementById(idrow).className = "standardTable_Row1_Selected";
document.getElementById("form:selRsListRow").value = idrow;
}
</script>
...
<h:inputHidden id="rsListSize" value="#{searchBean.resultListSize}"/>
<h:inputHidden id="selRsListRow" value="#{searchBean.rsListSelRow}"/>
...
<t:dataTable styleClass="standardTable"
headerClass="standardTable_SortHeader"
footerClass="standardTable_Footer"
rowClasses="standardTable_Row1,standardTable_Row2"
var="person"
value="#{searchBean.resultList}"
sortColumn="#{searchBean.sort}"
sortAscending="#{searchBean.ascending}"
preserveDataModel="true"
preserveSort="true" style="vertical-align:top;"
rowCountVar="rowCount"
rowIndexVar="rowIndex"
rowId="#{rowIndex}"
rowOnClick="javascript:colorizeRow(#{rowIndex});">
...
<h:commandLink actionListener="#{searchBean.doAdd}" immediate="true"> <t:graphicImage value="/images/runter.gif"/>
</h:commandLink>
...
---snip---
--
Bis zu 70% Ihrer Onlinekosten sparen: GMX SmartSurfer!
Kostenlos downloaden: http://www.gmx.net/de/go/smartsurfer
Re: How to pass value from javascript to backing-bean?
Posted by Andrew Robinson <an...@gmail.com>.
Instead of using javascript, can you just use the
t:updateActionListener tag? It works quite well for data table rows.
On 5/29/06, Stefan Gesigora <sg...@gmx.net> wrote:
> Hi!
>
> How can I pass a value set with javascript (f.e.):
> "document.getElementById("form:selListRow").value = idrow"
> into my backing-bean?
>
> I got a datatable where the user can select a row. The selected row is highlighted and then the user can press an "addRow"-commandLink (with image) which add the selected row to another table.
>
> The row selection and reading the selectedRow-id works. I can set the idrow via js to the hidden inputfield "selListRow". But the setter of the backing-bean attribute used in this hidden inputfield were never called.
>
> What should I have to do?
>
> Thanks,
> Steven
>
> here's my code:
>
> ---snip--
> ...
>
> <script language="JavaScript" type="text/javascript">
>
> function colorizeRow(idrow) {
>
> var rsListSize = document.getElementById("form:rsListSize").value;
> if (rsListSize != null && rsListSize != ""){
> for (var i = 0; i < rsListSize; i++){
> if (i % 2 == 0){
> document.getElementById(i).className = "standardTable_Row1";
> } else {
> document.getElementById(i).className = "standardTable_Row2";
> }
> }
> }
> document.getElementById(idrow).className = "standardTable_Row1_Selected";
>
> document.getElementById("form:selRsListRow").value = idrow;
>
> }
>
> </script>
>
> ...
>
> <h:inputHidden id="rsListSize" value="#{searchBean.resultListSize}"/>
> <h:inputHidden id="selRsListRow" value="#{searchBean.rsListSelRow}"/>
>
> ...
>
> <t:dataTable styleClass="standardTable"
> headerClass="standardTable_SortHeader"
> footerClass="standardTable_Footer"
> rowClasses="standardTable_Row1,standardTable_Row2"
> var="person"
> value="#{searchBean.resultList}"
> sortColumn="#{searchBean.sort}"
> sortAscending="#{searchBean.ascending}"
> preserveDataModel="true"
> preserveSort="true" style="vertical-align:top;"
> rowCountVar="rowCount"
> rowIndexVar="rowIndex"
> rowId="#{rowIndex}"
> rowOnClick="javascript:colorizeRow(#{rowIndex});">
>
> ...
>
> <h:commandLink actionListener="#{searchBean.doAdd}" immediate="true"> <t:graphicImage value="/images/runter.gif"/>
> </h:commandLink>
>
> ...
>
> ---snip---
> --
>
>
> Bis zu 70% Ihrer Onlinekosten sparen: GMX SmartSurfer!
> Kostenlos downloaden: http://www.gmx.net/de/go/smartsurfer
>
>