简体   繁体   English

JS日历+ JSF

[英]JS Calendar + JSF

sorry about input mistakes, english its not my mother lang. 抱歉输入错误,英语不是我的母语。 I have this code written on normal html that i managed to transform into xhtml file, i want to send the value shown on <input id="f_date"> to <h:inputText> : 我将这段代码写在普通的html上,我设法将其转换为xhtml文件,我想将<input id="f_date">显示的值发送到<h:inputText>

<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>

Thanks in advance, best regards 在此先感谢您,最好的问候

You should reuse input element from <h:inputText> when setting up JS calendar. 设置JS日历时,应重用<h:inputText>输入元素。 Use inputField argument to pass id of input generated by JSF. 使用inputField参数传递JSF生成的输入的ID。 It could be form1:f_date but check html source to make sure. 可能是form1:f_date但请检查html源以确保。

EDIT: 编辑:

prefix id with "form1:" in updateFields" 在updateFields中带有“ form1:”的前缀ID

document.getElementById("form1:f_date")

and get rid of 并摆脱

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM