いつも参考にさせて頂いております。 そして標題が分かりずらく申し訳ありません。 あちこち検索してみたのですが、意図する文書を探し出せず 投稿させて頂きました。 現在、WEB仕様のデータベースを作成しています。 そのフォームの一つに承認用のボタンを設置しているのですが、 その動作がうまくいきません。 ボタンの機能としては、ボタンを押下することにより あるフィールドに文字列がセットされ、保存される。 といったものになります。 ここで標題にからんでくるのですが、 このボタンを押下した後、実行かキャンセルかの機能もつけるため JavaScriptのConfirm機能を使用しようと作ってみたのですが、 スクリプト内容を見るとConfirmに依存せず、無条件に 任意の処理を実行してしまうような気がします。 実際に実行してもやはり思った通りの動作ではありませんでした。 さらにボタンが表示されるのは文書が表示用の場合です。 ここで質問なのですが、 1.文書が表示用でも、JavaScriptによる値のセット方法はあるのでしょうか?(私の知っている方法で試してみましたが無理でした) 2.JavaScriptでConfirmした結果[Yes][Cancel]をエージェント内で判断し、[Yes]の時だけ、[ロータススクリプト処理]を実行するといった方法はないでしょうか? 長くなってしまい申し訳ありませんが、 最後にエージェント内容を下記に記述します。 どなたかご存知の方いらっしゃいましたらご教授お願いします。 <承認処理> ===================================================== '---------- + --------- + ---------- + ----------- ' ' お客様承認のエージェント ' '---------- + --------- + ---------- + ----------- Sub Initialize '---------- エラー On Error Goto OtherErr '---------- カレントdb・コンテキストドキュメント Dim ses As New NotesSession Dim cdoc As NotesDocument '---------- コンテキストドキュメントの設定 Set cdoc = ses.DocumentContext '---------- グループDBの設定 Dim groupdb As NotesDatabase 'グループDB Dim groupview As NotesView Dim groupdoc As NotesDocument 'グループDBドキュメント Dim groupkey As String 'ドキュメント検索キー '---------- ステータスDBの設定 Dim stdb As NotesDatabase 'コードDB Dim stview As NotesView Dim stdoc As NotesDocument 'コードDBドキュメント Dim stcode As String 'ステータスコード Dim stkey As String 'ドキュメント検索キー Dim status As String 'ステータス '---------- ユーザー名の取得 Set groupdb = New NotesDatabase( cdoc.SERVERNAME(0), cdoc.GROUPDB(0)) Set groupview = groupdb.GetView("vBymemberall") groupkey = cdoc.UserName(0) Set groupdoc = groupview.GetDocumentByKey(groupkey) '---------- ステータスの取得 Set stdb = New NotesDatabase( cdoc.SERVERNAME(0), cdoc.CODEDB(0)) Set stView = stdb.getview("(CodeNameView)") stcode = cdoc.FStatus_Code(0) stkey = "ST" + stcode '---------- ステータス更新処理 If stcode = "40" Then 'ステータスがクローズ申請なら処理する Print|<script language="javascript">| Print|if (window.confirm("この文書を承認します。よろしいですか?")){| cdoc.FLastSyonin = groupdoc.Fmemberj(0) '承認者名をセット stcode = stcode + 10 stkey = "ST" + stcode Set stdoc = stview.GetDocumentByKey(stkey) cdoc.FStatus = stdoc.code(0) 'ステータスをクローズに cdoc.FStatus_Code = stcode 'ステータスコードを50に cdoc.FLastSyonin_Date = Today() '承認日の日付をセット cdoc.SaveOptions = "1" Call cdoc.Save(True,True) Print|alert("承認しました。"); history.go(-2) ;| Print|}else{| Print|alert("承認しませんでした。"); history.go(-2) ;| Print|}| Print|</script>| Else Print|<script language="javascript">| Print|alert("ステータスが不正です。承認出来ませんでした。"); history.go(-1) ;| Print|</script>| End If Exit Sub '---------- エラーメッセージ OtherErr: Print|<script language="javascript">| Print|alert("処理が正常終了されませんでした。管理者に連絡してください。"); history.go(-1) ;| Print|</script>| Exit Sub End Sub ============================================