0

「入力日」というフィールドがあるリスト (検査表) 用の 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;

誰かが正しい形式、またはこれを機能させる方法を教えてもらえますか?

上記のスクリプトの次に、フォーム フィールドの「入力日」動作 (ビューを有効にする) を「False」に設定する必要があると思いますが、現時点では範囲外です。

ありがとう、クリス

4

1 に答える 1

0

この記事を見てください。jQuery を使用してこれを実現する方法について説明します。以下のサンプルを参照して、試してみてください。列名を対応する名前「入力日」に置き換えます。これにより、適切なテキストボックスが入力されます。

<script type="text/javascript">

 $(function() {

  $('input[title=DefaultMeFieldNoSpaces]').attr(
       {value: 'You are in a twisty maze of passages, all alike.'});
  });

于 2012-05-19T22:48:24.797 に答える