- PR -

フレーム間のターゲット変更について

投稿者投稿内容
cats
大ベテラン
会議室デビュー日: 2002/11/29
投稿数: 221
お住まい・勤務地: 東京
投稿日時: 2003-06-27 14:41
実験してみました。
runatの付いているform以外では、targetが無視されてました。

ということで、複数formの案はだめですね。
みく
会議室デビュー日: 2003/06/12
投稿数: 8
投稿日時: 2003-06-27 15:02
引用:

実験してみました。
runatの付いているform以外では、targetが無視されてました。

ということで、複数formの案はだめですね。


そうですか。runatが付いていないとVBコード側からは調整できないんですね。
catsさん、質問に親切に答えていただいてありがとうございます。
はぐれコ〜ギ〜
常連さん
会議室デビュー日: 2003/06/12
投稿数: 32
投稿日時: 2003-06-27 16:16
引用:
ただ、Button.Attributes.Add("onclick","XXXX")というのは、一度のPage_Loadイベントに一度しかかけないのでしょうか?
デバックしてみると、二度目からは通っているのに、画面上は無視された形になってしまいました。



# 私が意味を取り違えている気がしますが解釈した範囲で(^^;

Page.IsPostBack時ですと、応答ページとして読み込んでいるのか、
初めて読み込まれたのかで動作(True,False)が違いますよね?
なので、IsPostBackの外側へ記述する事が可能であれば二度目以降も反映されると思うのですが。

Public Sub Page_Load(・・・)
Button1.Attributes.Add(・・・) ← IsPostBackの条件文外で宣言する。
If Page.IsPostBack Then
・・・
End If
End Sub
みく
会議室デビュー日: 2003/06/12
投稿数: 8
投稿日時: 2003-06-27 19:00
はぐれコ〜ギ〜さん、すみません。私の書き方が悪かったようです。

If Page.IsPostBack Then
   Button1.Attributes.Add("onclick", "javascript:COM_DispMsg(1,'削除します。よろしいですか?');")
'-----------------------------
'     登録チェック
'-----------------------------
If COM_ChkSonzai(sCD) = False Then
Button2.Attributes.Add("onclick", "javascript:COM_DispMsg(0,'作業CD" & sCD & "は既に存在します。');")
End If
  If COM_ChkTotal(sNaiyo, True) = False Then
  Button2.Attributes.Add("onclick", "javascript:COM_DispMsg(0,'作業内容を入力してください。');")
   End If
else
end if

このように応答ページでPage.IsPostBack時に、確認メッセージとエラーメッセージを
両方出したい場合、一つしか出ないんです。
ボタンは複数あるので、Button1.Attributes.Add(・・・)がいいと思ったんですが。

質問がわかりにくくなってしまっていてすみませんでした。
Button1.Attributes.Add(・・・)を2回以上使った場合、両方適応されるやり方を
知っている方がいれば教えてください。
よろしくお願いします。
はぐれコ〜ギ〜
常連さん
会議室デビュー日: 2003/06/12
投稿数: 32
投稿日時: 2003-06-30 15:47
引用:
このように応答ページでPage.IsPostBack時に、確認メッセージとエラーメッセージを
両方出したい場合、一つしか出ないんです。
ボタンは複数あるので、Button1.Attributes.Add(・・・)がいいと思ったんですが。



1イベントに全て集約せず、どのイベントで実行すべき処理が何なのかを切り分けた方が
よい気がします。
行いたい処理を整理しますと、
 1.Button1をクリックする。
 2.削除確認メッセージ表示する。
 3.YESの場合、COM_ChkSonzai()、及びCOM_ChkTotal()でデータの確認を行う。
 4.各チェックでひっかかればエラーメッセージを表示する。
 5.エラーが無ければその後の処理へ・・・。
でよいでしょうか?
この場合、4のエラーメッセージは3のデータチェックの結果を受けて表示されるのですよね?
なのでButton_Clickイベントにコーディングされるべきかなと。
こんな感じでは如何でしょうか?

□Page_Loadイベント
・Button1.Attributes.Add(・・・)でOnClick時の処理を追加。
→ 確認メッセージを追加する。
コード:
If Page.IsPostBack Then
 Button1.Attributes.Add(・・・)
End If



□Button1_Clickイベント
・COM_ChkSonzai()、及びCOM_ChkTotal()の処理を追加。
→ エラー時にメッセージを表示するようにする。
コード:
If COM_ChkSonzai(sCD) = False Then 
 Dim str As String = "<script language=javascript>window.alert('エラーメッセージ');</script>"
 Response.Write(str)
End If
If COM_ChkTotal(sNaiyo, True) = False Then
 ・・・
End If
 ・・・(正常時の処理)・・・


スキルアップ/キャリアアップ(JOB@IT)