2

私はSharepoint2010で、非常に単純なはずの何かをしようとしています。ページを変更するボタンを作成します(「新しいアイテムの作成」フォームが発生した場合)。

コンテンツエディターWebパーツをセットアップし、windows.location.hrefを変更する「onclick」ハンドラーを使用して(Sharepointではページ全体がフォームであるためフォームではなく)ボタンを配置しました。

2010年、CEWPは、重要なHTMLを入力しようとすると少し戦いますが、「&」などの文字をエスケープし続けるため、非常に苦痛になる可能性があります。しかし、最終的には適切なコンテンツを入力することができました。

動作しませんでした(URLを変更せずにページが更新されただけです)。StackOverflowをチェックすることで、CEWPコンテンツのより堅牢なフォームに関するいくつかの推奨事項を見つけました。

<script type="text/javascript">
    function submit_rec(){
       window.location.href = "<my server root URL>/Lists/Rec/NewForm.aspx";
       return;
    }
    </script>
<button onclick="javascript:return submit_rec();return false"/>Submit a Recommendation</button>

これが奇妙な部分です。

Firebugを使用し、submit_rec()関数にブレークポイントを設定すると、これは正常に機能します。ただし、ブレークポイントがないと、常に現在のページに戻るという動作に戻ります。

タイミングの問題があるようです。または、URLの読み込みが開始された後、Sharepointが制御を取得し、元のページを再度読み込みます。

以前にこれを見て解決策を見つけた人はいますか?

アイデアや提案は大歓迎です。

よろしく:colin_e

4

2 に答える 2

0

回答してくれたすべての人に感謝します。さらに実験を重ね、Stackoverflow の他のスレッドからのヒントに従って、ようやくこれを機能させることができました。

Sharepoint 組み込みのOpenNewFormUrl()関数を使用した私の最後の努力の間違いは、これが SP によって中央ライブラリで定義されたグローバル関数になると予想していたことです。ライブラリ編集フォームのポップアップ フレームのサイズをハードコーディングするため、使用されるすべてのページで個別に定義する必要があります。

(はい、これは醜いです。カバーの下にある多くのSharepointのように、とにかく、私は脱線します...)

コンテンツ エディター Web パーツで次のコードを使用して、Sharepoint 2010 スタイルの「ポップアップ」エディターを、標準の SP ドキュメント センターの「ドキュメントの送信」ボタンと同じスタイルのボタンで動作させることができました。スクリプトの詳細はわかりません。ドキュメント センター サイト テンプレートのホームページからコピーしただけです。

<script type="text/javascript">

// <![CDATA[
function ULS18u(){var o=new Object;o.ULSTeamName="DLC Server";o.ULSFileName="default.aspx";return o;}
var navBarHelpOverrideKey = "wssmain";
// ]]>

function OpenNewFormUrl(url)
{ULS18u:;
var options = {width:640, height:720};
SP.UI.ModalDialog.commonModalDialogOpen(url, options, null, null);
}

</script>

<div class="ms-uploadbtnlink">
 <button onclick="javascript:OpenNewFormUrl(&#39;/dev/KfD/KfDdev/Lists/Recommendation/NewForm.aspx&#39;);return false;" type="submit"><nobr><img alt="Submit a Recommendation" src="/_layouts/Images/uploaddoc.png"/>&#160;<span>Submit a Recommendation</span></nobr>
 </button>
</div>

(たとえば) ユーザーの画面がハードコードされたポップアップ サイズよりも小さい場合、これがどのようなセットアップになるのか、私は警戒しています。有効なソリューションがあります。

于 2012-11-11T12:48:08.893 に答える
0

これを試して:

javascript:SP.UI.ModalDialog.OpenPopUpPage('/dev/KfD/KfDdev/Lists/Recommendation/New‌​Form.aspx');return false;

onclick イベントで

于 2013-02-15T08:16:45.937 に答える