編集フォームに「保存して滞在」ボタンが必要です。送信後にリダイレクトする必要はありません。

4
John Warner 2017-05-03 05:37.

私はこれを機能させようとしてきましたが、役に立ちませんでした。2013年の保存ボタンに似たボタンが必要です。この[保存して滞在]ボタンは、ページに現在入力されているデータを使用してフォームを送信しますが、ユーザーが引き続きフォームに入力できるように、自分自身にリダイレクトします。彼らが望むなら。以下は私が試みたものです。

最初に、保存ボタンをコピーしていくつかのパラメーターを変更するだけでこれを試しました。これは保存ボタンのように機能し、通常どおりリダイレクトされます。

<input type="button" name="ctl00$ctl39$g_52193838_579d_4f8b_ba08_4d04594a729e$ctl00$toolBarTbl$RightRptControls$ctl00$ctl00$diidIOSaveItemAndStay" value="Save and Stay" onclick="if (!PreSaveItem()) return false;if (SPClientForms.ClientFormManager.SubmitClientForm('WPQ2')) return false;WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$ctl39$g_52193838_579d_4f8b_ba08_4d04594a729e$ctl00$toolBarTbl$RightRptControls$ctl00$ctl00$diidIOSaveItemAndStay&quot;, &quot;&quot;, true, &quot;&quot;, window.location.href, false, true))" id="ctl00_ctl39_g_52193838_579d_4f8b_ba08_4d04594a729e_ctl00_toolBarTbl_RightRptControls_ctl00_ctl00_diidIOSaveItemAndStay" accesskey="O" class="ms-ButtonHeightWidth" target="_self">

次に、javascript / jqueryを使用してボタンを追加しようとしました。これは、送信してページに戻るように動作しますが、データはデータベースに保存されず、ユーザーがページを離れると消えます。

   var button = $("input[id$=SaveAndStay]");
// change redirection behavior
    button.click(function() {
    console.log ("button clicked");
    if (!PreSaveItem()) return false;
    SP.UI.Notify.addNotification("Saving ...", false);
    var myurl = window.location.href
    $("#aspnetForm").attr('action',location.pathname+'?Source=' + myurl);

    WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("btnSaven", "", true, "", myurl, false, true));
    return true;
    });

誰かがこれを行う方法がありますか?私はインターネットで検索したが役に立たなかった。

6 answers

2
Venkat Konjeti 2017-05-03 13:03.

私はこれをPOCで試しましたが、役立つ場合はアプローチを示します

「EditForm.aspx」URLが表示されると、保存操作の完了後にページをリダイレクトするためのソースパラメータが常に付属しています。

以下に示すように、ロード後にソースパラメータを同じ編集URLに更新しました

<<siteurl>>/Lists/test/EditForm.aspx?ID=7&Source=<<site url>>%2FLists%2Ftest%2FEditForm.aspx%3FID%3D7

アイテムを保存した後、同じ編集ページに残ります。ソースパラメータ値がリクエストURLと同じであることを確認する必要があります。

1
Robin in Or 2017-05-03 06:44.

これについてMSに質問があります。これは、2010年に使用していた手法(aspNetFormアクションの更新)が2013年には機能しなくなったためです。タイミングが変更されたため、コードが機能しません。

これが抜け出せないものである場合(あきらめることは私が常に試みるオプションです)私はそれを総当たり攻撃します-標準機能とは関係のないボタンを追加します。呼び出しを更新し(お気に入りのajax / SPServices / whatever ...を使用)、完了したらページを更新して、「他の誰かがこのアイテムを編集している」というエラーが発生しないようにします。

1
dberger 2017-05-03 07:06.

これは、カスタムコーディングなしで、InfoPathで実際に実行できるものです。フォームを編集するリストを開き、リボンのInfoPathロゴ/フォームのカスタマイズをクリックします。中に入ると、リボンの機能を使用して、フォームにボタンを追加したり、ボタンの位置をカスタマイズしたりできます。ボタンを配置したら、ボタンをダブルクリックして[ルールの追加]をクリックします。そこから、「送信」ルールをクリックします。このルールは、サーバーにデータを送信しますが、ページを閉じません。2つ目のボタンを追加して、保存せずにフォームを閉じることもできます。私はこれとまったく同じことを行い、その2番目のボタンに「キャンセル/閉じる」というラベルを付けて、ユーザーが保存されないことを認識できるようにしました。

1
Danny '365CSI' Engelman 2017-05-03 08:14.

最も簡単ですが、2つのページロードが作成されます

  • 1つのJavaScriptステートメントで追加のASPXページback2form.aspxを作成します

    document.location=document.referrer
    
  • フォームソースパラメータで使用します ?source=back2form.aspx

1
DiscoveryX 2018-07-30 23:38.

他に比べてメリットのある解決策を提案したいと思います。カスタムフォームや追加のページを作成したり、InfoPathを使用したりする必要はありません。このソリューションは、モーダルおよびフルページの編集フォームでも機能します。OKボタンのクローンを作成し、カスタムボタンをクリックしたときaction#aspnetFormのみの値を置き換える必要があります。必要なのは、編集フォームのコンテンツエディターまたはスクリプトエディターのWebパーツに次のコードを配置することだけです。

var btnOK = $("input[id$='SaveItem']:last");
var btnApply = btnOK.clone();
btnApply.val("Apply");
btnApply.removeAttr("onclick");
btnApply.click(function () {
    var postUrl = $("#aspnetForm").attr("action"); $("#aspnetForm").attr("action", location.pathname + "?ID=" + GetUrlKeyValue("ID") + "&Source=" + encodeURIComponent(postUrl));

    if (!PreSaveItem()) return false;
    if (SPClientForms.ClientFormManager.SubmitClientForm('WPQ2')) return false;
    WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions($get(WPQ2FormCtx.SubmitButtonID).name, "", true, "", "", false, true));
});
btnOK.after(btnApply);
0
Mike 2017-05-03 06:59.

あなたができる唯一のことは(それが本当に仕事の価値があるなら)提出するあなた自身のフォームを作成することです。それはデフォルトにする、新しい編集フォームを作成し、持っているPreSaveAction()オーバーライドは、デフォルトでは、SharePointのフィールドに基づいて提出するアクション、使用RESTやJSOMを提出していること、そしてあなただけ持っていることによって、それはATのページ滞在を持つことができるreturn false;の終わりに関数。

この記事を確認してください

Related questions

MORE COOL STUFF

Reba McEntire は、彼女が息子の Shelby Blackstock と共有する「楽しい」クリスマスの伝統を明らかにしました:「私たちはたくさん笑います」

Reba McEntire は、彼女が息子の Shelby Blackstock と共有する「楽しい」クリスマスの伝統を明らかにしました:「私たちはたくさん笑います」

Reba McEntire が息子の Shelby Blackstock と共有しているクリスマスの伝統について学びましょう。

メーガン・マークルは、自然な髪のスタイリングをめぐってマライア・キャリーと結ばれました

メーガン・マークルは、自然な髪のスタイリングをめぐってマライア・キャリーと結ばれました

メーガン・マークルとマライア・キャリーが自然な髪の上でどのように結合したかについて、メーガンの「アーキタイプ」ポッドキャストのエピソードで学びましょう.

ハリー王子は家族との関係を修復できるという「希望を持っている」:「彼は父親と兄弟を愛している」

ハリー王子は家族との関係を修復できるという「希望を持っている」:「彼は父親と兄弟を愛している」

ハリー王子が家族、特にチャールズ王とウィリアム王子との関係について望んでいると主張したある情報源を発見してください。

ワイノナ・ジャッドは、パニックに陥った休暇の瞬間に、彼女がジャッド家の家長であることを認識しました

ワイノナ・ジャッドは、パニックに陥った休暇の瞬間に、彼女がジャッド家の家長であることを認識しました

ワイノナ・ジャッドが、母親のナオミ・ジャッドが亡くなってから初めての感謝祭のお祝いを主催しているときに、彼女が今では家長であることをどのように認識したかを学びましょう.

セントヘレナのジェイコブのはしごを登るのは、気弱な人向けではありません

セントヘレナのジェイコブのはしごを登るのは、気弱な人向けではありません

セント ヘレナ島のジェイコブズ ラダーは 699 段の真っ直ぐ上る階段で、頂上に到達すると証明書が発行されるほどの難易度です。

The Secrets of Airline Travel Quiz

The Secrets of Airline Travel Quiz

Air travel is far more than getting from point A to point B safely. How much do you know about the million little details that go into flying on airplanes?

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

バイオニック読書はあなたをより速く読むことができますか?

バイオニック読書はあなたをより速く読むことができますか?

BionicReadingアプリの人気が爆発的に高まっています。しかし、それは本当にあなたを速読術にすることができますか?

iOS9でSiriに尋ねることができるすべての新しいもの

iOS9でSiriに尋ねることができるすべての新しいもの

AppleがiOS9を発表したときの大きな話題の1つは、Siriがどのように改善され、より「プロアクティブ」になるかということでした。最初はそれが何を意味するのか実際にはわかりませんでしたが、iOSが1週間使用されたので、iOSに何を依頼できるかについてはるかに良いアイデアが得られました。

「食料品の請求書はあなたが絶対に管理できるものの1つです」

「食料品の請求書はあなたが絶対に管理できるものの1つです」

非常に多くのサービスと生活費には、たまにしか変わらない設定価格があります。ただし、食料品の請求書は、閉じ込められておらず、完全に管理できる唯一の場所の1つです。

デスティニーのエキゾチックな戦利品ドロップで何か奇妙な

デスティニーのエキゾチックな戦利品ドロップで何か奇妙な

Destinyにとって興味深い週末でした。新しいエクスプロイトのおかげで、プレイヤーはゲームの戦利品システムがどのように機能するかを通常よりも詳しく見ることができました。

Destinyの最新のエクスプロイトでエキゾチックな自分を殺すことができます[更新:パッチ]

Destinyの最新のエクスプロイトでエキゾチックな自分を殺すことができます[更新:パッチ]

今日Destinyをプレイし始めた場合、同じ古代の低レベルのミッションを実行している友人の数が異常に多いことに気付いたかもしれません。なぜ彼らはそうするのでしょうか?答えは-もちろんこれが答えです-ミッションはプレイヤーが新しい抜け穴を利用し、最小限の労力でたくさんの強力なエキゾチックなアイテムを獲得できるようにすることです。

アマゾンの買い物客はこれを「ホテル品質」の羽毛布団カバーと呼んでおり、価格はわずか22ドルです

アマゾンの買い物客はこれを「ホテル品質」の羽毛布団カバーと呼んでおり、価格はわずか22ドルです

何千人もの Amazon の買い物客が Bedsure Duvet Cover を推奨しており、現在セール中です。羽毛布団カバーにはいくつかの色があり、ツインからカリフォルニアキングまでのサイズがあります。Amazon で最大 52% オフの最高評価の羽毛布団カバーを購入する

バレンタインデーにユーカリのシャワースチーマーで「最高の睡眠」を贈りましょう。

バレンタインデーにユーカリのシャワースチーマーで「最高の睡眠」を贈りましょう。

BodyRestore ユーカリ シャワー スチーマーは、Amazon で 11,000 を超える 5 つ星の評価を得ています。セルフケアが必要な人へのバレンタインデーのギフトとして、ホームスパ製品を贈りましょう。

この「邪悪な吸引力」を備えたこの250ドルのハンドヘルド掃除機は、Amazonで75%オフになりました

この「邪悪な吸引力」を備えたこの250ドルのハンドヘルド掃除機は、Amazonで75%オフになりました

多くのAmazonの買い物客がUmlo H6ハンドヘルド掃除機を推奨しており、現在スーパーセール中です. ハンドヘルド デバイスには HEPA フィルターが装備されており、複数のアタッチメントが付属しています。Amazonで75%オフのときにハンドヘルド掃除機を購入する

オクタヴィア・スペンサー、「ザ・ヘルプ」共演者のシシー・スペイセクが17歳で映画のインターンをした後、彼女のことを「実際に」思い出したと語る

オクタヴィア・スペンサー、「ザ・ヘルプ」共演者のシシー・スペイセクが17歳で映画のインターンをした後、彼女のことを「実際に」思い出したと語る

オクタヴィア・スペンサーは、ヘルプで一緒に共演するずっと前に、シシー・スペイセク主演の 1990 年の映画「ロング・ウォーク・ホーム」でインターンとして働いていました。

メリック・ガーランドはアメリカに失敗しましたか?

バイデン大統領の任期の半分以上です。メリック・ガーランドは何を待っていますか?

メリック・ガーランドはアメリカに失敗しましたか?

人々にチャンスを与えることは、人生で少し遅すぎると私は信じています。寛大に。

良いものと醜いもの: 2022

良いものと醜いもの: 2022

もうわからない。何が「ヒット」かを正確に判断することは、もはやほとんど不可能に思えます。

楽しみのために — 2022 年のトップの新しい音楽再生

楽しみのために — 2022 年のトップの新しい音楽再生

ついに!私の 2022 年のトップ ニューミュージック プレイへようこそ。私は毎年これを共有して、友達とつながります。

ヒーズ・オール・アイヴ・ガット

ヒーズ・オール・アイヴ・ガット

あなたの心をチェックしてください。私たちの心はしばしば迷います。

Language