我的列表(检查表)有一个Sharepoint数据输入表格,其中有一个名为“输入日期”的字段。我想在用户点击“添加新条目”时自动填充今天的日期和时间,因为我想将其用作审计数据。
现在,我想使用java脚本(在研究之后,这似乎是最直接的方法),所以我将以下内容添加到NewForm.aspx页面:
<asp:Content ContentPlaceHolderId="PlaceHolderAdditionalPageHead" runat="server">
<script language="javascript" type="text/javascript">
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
if(dd<10)
{dd='0'+dd;}
if(mm<10)
{mm='0'+mm;}
var formattedToday = mm+'/'+dd+'/'+yyyy;
alert(formattedToday);
document.getElementById('<%= ((TextBox)this.onetIDListForm.FindControl("ff10_1")).ClientID %>').value = formattedToday;
</script>
</asp:Content>
alert(formattedToday);
只是为了测试java脚本当然是否已被选中,并将在以后阶段删除。
好的..我得到了弹出窗口,因此正确计算了值并且java脚本正常工作。我遇到的问题是将此值放入“输入日期”字段。
调用document.getElementByID的正确方法是什么?
我尝试了多种变体:
document.getElementById('<%= ((TextBox)this.onetIDListForm.FindControl("ff10_1")).ClientID %>').value = formattedToday;
或..
document.setElementById("Date Entered").value = formattedToday;
或..
document.setElementById("ff10_1").value = formattedToday;
有人可以指出正确的格式,或者说这种方式有效吗?
在上面的脚本旁边,我想我需要将表单字段“Date Entered”行为(启用视图)设置为“False”,但目前超出了范围。
谢谢, 克里斯
答案 0 :(得分:0)
看看这篇文章。它讨论了如何使用jQuery实现这一目标。请参阅下面的示例并进行试用。您将使用相应名称“输入日期”替换列名称。这应该为您填充适当的文本框。
<script type="text/javascript">
$(function() {
$('input[title=DefaultMeFieldNoSpaces]').attr(
{value: 'You are in a twisty maze of passages, all alike.'});
});