抱歉输入错误,英语不是我的母亲朗。
我有这个代码写在普通的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>
提前致谢,最好的问候
答案 0 :(得分:0)
在设置JS日历时,您应该重用<h:inputText>
中的input元素。使用inputField
参数传递JSF生成的输入的id。它可能是form1:f_date
但请检查html源代码以确保。
编辑:
在updateFields“
中使用”form1:“作为前缀iddocument.getElementById("form1:f_date")
并摆脱
<input style="text-align: center" name="date" id="f_date"
size="14" />