SalesForce、VisualForce Pages 和 jQuery 日期选择器
SalesForce, VisualForce Pages, and the jQuery date picker
我遇到了一些问题,希望您能提供帮助。我打算使用 SalesForce 的 "built in" 日期选择器,但看起来(至少根据我的实验)您只能在每个 VisualForce 页面上使用一个。
所以我选择了 jQuery 路线。我可以让 jQuery 日期选择器工作(我在页面上有两个)。
问题是,当页面通过验证时,如果 "required" 元素之一不存在,它会将日期更改为 UTC 格式。
例如,如果日期 1 是 mm/dd/yy 格式,我将其设置为 03/01/2017,它会输入较长的延长日期。
有一次,我确实把它放到了 mm/dd/yy 格式的日期中,但它们会在一天前(提前一天)关闭,这不好,我无法弄清楚如何解决它。我现在不在办公室,一到那里我就会看看是否可以登录,实际上 post 我拥有的 jQuery。
好的,这是代码:
$( function() {
var ad = $('input[id$="adId"]' );
var pld = $('input[id$="pldId"]' );
ad.datepicker({minDate: 0, dateFormat: "mm/dd/yy"});
pld.datepicker({minDate: 0, dateFormat: "mm/dd/yy"});
if(ad.val() != ""){
$('input[id$="adId"]').datepicker({dateFormat: "mm/dd/yy"}).datepicker("setDate", new Date(ad.val()));
}
if(pld.val() != ""){
$('input[id$="pldId"]').datepicker({dateFormat: "mm/dd/yy"}).datepicker("setDate", new Date(pld.val()));
}
} );
我在 outputPanel 中使用日期选择器元素。
所以基本上过程是这样的:
- 转到页面。
- 填写除了几项以外的所有内容,但要确保日期在那里。
日期采用 mm/dd/yy 格式,因此它们将显示为 03/01/2017。
- 进行验证时,错误消息显示表单不完整,日期现在采用 UTC 日期格式(即 "Thu Jan 1 19:30:00 UTC+0530 1970")而不是 mm/dd/yy。
我认为这是一个简单的格式问题。非常感谢任何建议。
我认为我们可以在 VF 页面中使用许多日期选择器。
有不同的方法可以做到这一点
您可以使用 apex:inputfield 并将字段与日期类型字段绑定
<apex:page standardcontroller=’Account’>
<apex:form>
<apex:inputfield value=”{!Account.DateTypeField}”
</apex:form>
</apex:page
>
其他方式> 您也可以使用标签
<apex:page standardcontroller=’Account’ id=”id”>
<apex:form id=”form”>
<apex:inputText styleClass="css" value="{!datename}" size="10" id="demo" onfocus="DatePicker.pickDate(false, 'id:form:demo', false);" />
</apex:form>
</apex:page>
第 3 .
<apex:page >
<apex:form >
<table>
<td> Date<br></br><input id="t" name="dat" onfocus="DatePicker.pickDate(false,
't', false);" size="20" tabindex="20" type="text" /><span class="dateFormat">[ <a
href="DatePicker.insertDate('3/3/2017', 't', true);"
>2/3/2011</a> ]</span></td>
</table>
</apex:form>
</apex:page>
此致,
阿杰
我遇到了一些问题,希望您能提供帮助。我打算使用 SalesForce 的 "built in" 日期选择器,但看起来(至少根据我的实验)您只能在每个 VisualForce 页面上使用一个。
所以我选择了 jQuery 路线。我可以让 jQuery 日期选择器工作(我在页面上有两个)。
问题是,当页面通过验证时,如果 "required" 元素之一不存在,它会将日期更改为 UTC 格式。
例如,如果日期 1 是 mm/dd/yy 格式,我将其设置为 03/01/2017,它会输入较长的延长日期。
有一次,我确实把它放到了 mm/dd/yy 格式的日期中,但它们会在一天前(提前一天)关闭,这不好,我无法弄清楚如何解决它。我现在不在办公室,一到那里我就会看看是否可以登录,实际上 post 我拥有的 jQuery。
好的,这是代码:
$( function() {
var ad = $('input[id$="adId"]' );
var pld = $('input[id$="pldId"]' );
ad.datepicker({minDate: 0, dateFormat: "mm/dd/yy"});
pld.datepicker({minDate: 0, dateFormat: "mm/dd/yy"});
if(ad.val() != ""){
$('input[id$="adId"]').datepicker({dateFormat: "mm/dd/yy"}).datepicker("setDate", new Date(ad.val()));
}
if(pld.val() != ""){
$('input[id$="pldId"]').datepicker({dateFormat: "mm/dd/yy"}).datepicker("setDate", new Date(pld.val()));
}
} );
我在 outputPanel 中使用日期选择器元素。
所以基本上过程是这样的:
- 转到页面。
- 填写除了几项以外的所有内容,但要确保日期在那里。 日期采用 mm/dd/yy 格式,因此它们将显示为 03/01/2017。
- 进行验证时,错误消息显示表单不完整,日期现在采用 UTC 日期格式(即 "Thu Jan 1 19:30:00 UTC+0530 1970")而不是 mm/dd/yy。
我认为这是一个简单的格式问题。非常感谢任何建议。
我认为我们可以在 VF 页面中使用许多日期选择器。 有不同的方法可以做到这一点 您可以使用 apex:inputfield 并将字段与日期类型字段绑定
<apex:page standardcontroller=’Account’>
<apex:form>
<apex:inputfield value=”{!Account.DateTypeField}”
</apex:form>
</apex:page
> 其他方式> 您也可以使用标签
<apex:page standardcontroller=’Account’ id=”id”>
<apex:form id=”form”>
<apex:inputText styleClass="css" value="{!datename}" size="10" id="demo" onfocus="DatePicker.pickDate(false, 'id:form:demo', false);" />
</apex:form>
</apex:page>
第 3 .
<apex:page >
<apex:form >
<table>
<td> Date<br></br><input id="t" name="dat" onfocus="DatePicker.pickDate(false,
't', false);" size="20" tabindex="20" type="text" /><span class="dateFormat">[ <a
href="DatePicker.insertDate('3/3/2017', 't', true);"
>2/3/2011</a> ]</span></td>
</table>
</apex:form>
</apex:page>
此致,
阿杰