2012-03-26 52 views
0

抱歉輸入錯誤,英文不是我的母親郎。 我有這樣的代碼寫在普通的HTML,我成功地轉化爲XHTML文件,我想在<input id="f_date">顯示的值發送到<h:inputText>:提前JS日曆+ JSF

<script src="../js/jscal2.js" type="text/javascript" xml:space="preserve"></script> 
<script src="../js/lang/en.js" type="text/javascript" xml:space="preserve"></script> 
<link rel="stylesheet" type="text/css" href="../css/jscal2.css" /> 
<link rel="stylesheet" type="text/css" href="../css/border-radius.css" /> 
<link rel="stylesheet" type="text/css" href="../css/steel/steel.css" /> 

<h:form id="form1"> 
    <table> 
    <tr> 
     <td colspan="4" id="cont"></td> 
    </tr> 
    <tr> 
     <td> 
     <input style="text-align: center" name="date" id="f_date" 
     size="14" /> 
     <h:inputText id="f_date" value="#{solicitud.fechaI}" maxlength="10" size="10" valueChangeListener="#{solicitud.fechaIText}"> 
      <a4j:ajax event="keyup" render="fechaI, fIni" status="statusFI"/> 
     </h:inputText> 
     </td> 
     <td> 
     <input style="text-align: center" name="hour" id="f_hour" size="2" /> 
     </td> 
     <td> 
     : 
     </td> 
     <td> 
     <input style="text-align: center" name="minute" id="f_minute" 
     size="2" /> 
     </td> 
    </tr> 
    </table> 
</h:form><script type="text/javascript" xml:space="preserve">//<![CDATA[ 


    function updateFields(cal) { 
      var date = cal.selection.get(); 
      if (date) { 
        date = Calendar.intToDate(date); 
        document.getElementById("f_date").value = Calendar.printDate(date, "%Y-%m-%d"); 
      } 
      document.getElementById("f_hour").value = cal.getHours(); 
      document.getElementById("f_minute").value = cal.getMinutes(); 
    }; 

    Calendar.setup({ 
      cont   : "cont", 
      showTime  : 12, 
      onSelect  : updateFields, 
      onTimeChange : updateFields 
    }); 

//]]></script> 

感謝,問候

回答

0

您應該重新使用設置JS日曆時從<h:inputText>輸入元素。使用inputField參數傳遞由JSF生成的輸入的id。它可能是form1:f_date,但檢查html源以確保。

編輯:

前綴ID爲 「form1的:」 在updateFields」

document.getElementById("form1:f_date") 

,擺脫

<input style="text-align: center" name="date" id="f_date" 
     size="14" /> 
+0

感謝您的答覆嗨,你能解釋一下我更多的細節,即時有點困惑這個問題,因爲即時通訊新的使用這個框架 – 2012-03-26 20:39:32

+0

編輯我的答案 – mrembisz 2012-03-26 20:52:37

+0

我只是做了你告訴我,但它沒有發送JS日曆的值到h:inputTex噸,我想我缺少一些東西來包裝這兩個價值觀。 – 2012-03-26 21:06:24