質問

SharePoint 2007リストがあり、6つのサイト列があり、newform.aspxページの2つのモードが必要です。ユーザーがnewITEMをクリックすると、3つのサイト列のみを表示する必要があり、アドバンストモードへのリンクが必要です。ユーザーが高度なモードリンクをクリックすると、これらすべての6つのサイト列をすべて表示し、対応する列値をすべてユーザーの場合は事前に入力する必要があります。すでに単純なモードでいくつかの情報を入力しています。ユーザーは、Advancedモードから簡単なモードに移動できるはずです。

また、ラベルに現在のユーザー名を表示したいのですが、newform.aspxページにあります

どのように達成できますか? Doweは何らかのJavaScriptを書く必要がありますか?

役に立ちましたか?

解決

これをかなり簡単に使用できます sputility.js (完全な開示これは私が維持するライブラリです)。おそらく、newform.aspxのコンテンツエディターWebパーツ内にすべてを配置するでしょう。

フィールドの表示/隠しを切り替える「Advanced Mode」リンクがあります。 sputility.jsを使用した例:

SPUtility.GetSPField('Field A').Hide(); // or Show() after they click the link
SPUtility.GetSPField('Field B').Hide();
SPUtility.GetSPField('Field C').Hide();

あなたがこのルートに行くことを選択した場合、私が残りを手伝うことができるかどうか教えてください。

他のヒント

JavaScriptは、ページに動的な動作を追加したい場合に行く方法のようですが、どうやらサーバーからの追加情報は必要ありません。

あなたのコードは次のことをしなければなりません:

  • 非表示にする必要がある3行を特定します
  • それらを見えないようにします(表示:なしまたは可視性:非表示)
  • クリック時の可視性を切り替えます

JavaScriptでは、現在のユーザー名(表示名またはより良いユーザーアカウント)を取得することもできます。

これを行う別の方法は、編集を使用して「高度なフォーム」として機能することです(ユーザーがリスト項目を編集しているときに6つのフィールドをすべて表示したいと仮定します)。次に、ユーザーが「OK」をクリックすると、単純なリダイレクトにより、入力した値を保存して編集/高度なフォームに移動します。

リダイレクトの場合、明らかな質問は、アイテムのIDなしでアイテムの編集フォームにリダイレクトするにはどうすればよいですか? (IDは、リスト項目が保存されるまで作成されません)。 Marc D AndersonのSpservicesライブラリをお試しください - http://spservices.codeplex.com/. 。 Marcは、この問題に特に対処する機能を作成しました - > $()。spservices.spredirectwithid。

MarcのSPServicesライブラリを使用して、$()。Spservices.spgetCurrentuserユーティリティを使用して現在のユーザー名(およびその他)を表示することもできます。

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top