2011-06-30 17 views
2

私はGoogle Maps APIを使用してクライアント側でユーザーの場所を取得しています...これをサーバー側に送信して処理を行い、選択ボックスに(ローカルアドレスを使用して) 。Javascript with JSF

どうすればよいですか?私はボタンを押して、ajaxを使ってボックスに値を設定したいと思っています。

ありがとうございます!

答えて

2

ここでは、Javascript値(ユーザーの場所)をAjaxを使用してBeanに渡す方法の例を示します。

場所は<h:inputHidden>フィールドに格納されます。 <f:ajax>の実行属性は、処理するサーバーに送信される値を指定します。

<h:form id="formname"> 
    <h:inputHidden value="#{indexBean.value}" id="hvalue" /> 
    <h:commandButton value="action" onclick="getLocation();" action="#{indexBean.doSome}"> 
     <f:ajax execute="hvalue" render="output" /> 
    </h:commandButton> 
    <h:outputText value="#{indexBean.output}" id="output" /> 
</h:form> 

Ajaxリクエストが<h:commandButton>のonclickの属性は、実行するJavaScript関数を指定送られる前に。あなたのJavascript関数は、隠しフィールドに値を設定する必要があります。

function getLocation() {   
    document.getElementById("formname:hvalue").value = "TEST";      
} 

レンダリング属性<f:ajax>は、クライアント側で更新する内容を指定します。この場合は<h:outputText>があなたの<h:selectOneMenu>になります。