1

これは、カスタムリストにデータを送信するために使用されるカスタムEditform.aspx用です。ユーザーがフォームに入力すると、ボタンまたは[OK]ボタンを押して、SharePointにフォームデータをリストに送信させ、アイテムの表示フォーム(dispform.aspx?ID ='itemid')にリダイレクトできるようになります。 。document.location.hrefを操作することで、現在のアイテムのIDを取得できました。__commitと__redirect(URL displayform?ID ='itemid'にリダイレクト)を使用して__doPostBackを使用してJavaScriptでポストバックを実行しようとしましたが、リダイレクトが発生すると、変更が更新されていないことがわかります。

このようなことができる人はいますか?

4

2 に答える 2

1

Source querystringパラメーターのURLを変更することにより、投稿後に任意の場所にリダイレクトするフォームを取得できます。javascriptを使用すると、そのクエリ文字列パラメーターで特定のURL(/location/dispform.asp?ID=)を検索できます。存在しない場合は、ページをそれ自体にリダイレクトしますが、Sourceパラメーターを場所wに入力します。 /送信先のID。

最も難しい部分は、javascriptの現在のURL+パラメーターを解析することです。私が見つけたJSコードのスニペットがいくつかあります。

EditForm URLをこのように書き換えることの利点の1つは、[キャンセル]ボタンを使用すると、ユーザーが元の場所ではなくDispFormページに移動することです。ただし、ほとんどの人はおそらく[戻る]ボタンを使用します。

于 2009-11-13T03:14:11.683 に答える
0

DispFormこれにより、リストアイテムIDをカスタムに取得しないフォームアクションの問題を解決することができましたEditForm。以下は私のために働くことになった:

onclick="javascript: {ddwrt:GenFireServerEvent(concat('__redirect={ProgEditForm.aspx?ID=+',$ListItemId,'}'))}"

DispFormのパラメータListItemIDが ある場合

パラメータソース:クエリ文字列
クエリ文字列変数:ID
デフォルト値:0

これが私を夢中にさせようとしていたので、それが他の誰かを助けることを願っています!

于 2015-08-19T20:40:16.090 に答える