問題タブ [showmodaldialog]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2412 参照

asp.net - ASP.NET 検証が JavaScript の showModalDialog 呼び出しで実行されない

現在、JavaScript .showModalDialog 関数を使用して、親ページからポップアップ ウィンドウを開きます。ポップアップ ウィンドウには、ユーザーが ASP.NET ボタンをクリックしてフォームを送信したときに表示されない ASP.NET 検証コントロールが含まれています。ページにエラーがある場合、検証メッセージは表示されず、レコードはサーバー側で更新されず、ポップ ウィンドウが閉じます。

(asp.net 検証コントロールは、ポップアップ ウィンドウがサーバー ポストバックを実行するのを停止しません)

以前にこの動作を経験した人はいますか?それを防ぐ方法はありますか?

これが私のshowModalDialong呼び出しのソースコードです:

注: ポップアップ モーダルを閉じると、ASP.NET ボタンが「クリック」されて親の ASP.NET UpdatePanel が更新され、ポップアップ ウィンドウで変更されたレコードへの変更が表示されます。

0 投票する
2 に答える
1910 参照

asp.net - showModalDialog は ClientScript.RegisterStartupScript に干渉しますか?

vbscript関数で発生する「window.showModalDialog(...」を介してモーダルダイアログを表示しています(表示されているページはaspxです)。行の数に基づいてウィンドウのサイズを変更したいと思います当然、行数に基づいてウィンドウのサイズを変更するスタートアップ スクリプトを登録しますが、うまくいかなかったので、msgbox を表示するだけのスクリプトを登録しようとしました。

コードは次のようになります (OnLoad イベント ハンドラー内)。

私には、これが機能し、ページがロードされたときに「こんにちは」というメッセージ ボックスが表示されるように見えます (ウィンドウの onload イベントを fnWindowOnLoad に設定しました)。しかし、何が起こるかは、何も、例外も、警告もありません。typeof 呼び出しで考えられるすべてのタイプを試しました。何も機能していないようです。私が考えることができる唯一のことは、ダイアログがモーダル ClientScript.RegisterStartupScript であるため、正しく実行されないということです。しかし、それは私には意味がありません。

MsgBox の「hello」呼び出しをスクリプト ブロックに直接配置すると、アラートが表示されたので、可能です。しかし、コード ビハインドのいくつかの引数を変更する必要があるため、わかる限り RegisterStartupScript を使用する必要があります。

0 投票する
2 に答える
815 参照

showmodaldialog - 64 個の ownerdraw createwindow ボタンの制限

Visual Studio のダイアログ デザイン ツールで作成されたダイアログ ボックスに、所有者が拡張スタイルを描画する 256 色のボタンの配列を作成したいと考えています。これを行うために、ダイアログ プロシージャの WM_INITDIALOG メッセージ ハンドラにループを追加しました。

WM_CTLCOLORBTN メッセージのメッセージ ハンドラーを追加しました。

多かれ少なかれ機能しますが、最初の 64 個のボタンしか表示されません。各ボタンに色を付けるために別のブラシを使用するつもりですが、デバッグ用に、明確に定義された 1 つのブラシに置き換えました。私はコードをデバッグし、各ボタンの x/y 座標が適切であり、hMenu createwindow 呼び出しで提供された ID が適切であることを確認しました。WM_CTLCOLORBTN ハンドラで 256 個のボタンすべてが色付けされるのを見ました。createwindow 呼び出しが失敗 (NULL) を返さないことを確認するためのチェックを含めました。createwindow 呼び出しで x/y パラメーターを交換することで、16 ボタンの 4 行または 16 ボタンの 4 列のいずれかを取得できます。

createwindow 呼び出しから BS_OWNERDRAW ビットを削除すると、256 個のボタンすべてが描画されます。

BS_OWNERDRAW では 64 個のボタンに制限があるかのようです :-(

どんな助けでも大歓迎です!

ティア、マイク

0 投票する
1 に答える
1283 参照

javascript - window.showModalDialog でページを開いたときの違いは何ですか?

誰でも違いを知っていますか?

私が遭遇した問題は、ページを開いたときにページが正しく機能しなくなることですwindow.showModalDialog

0 投票する
4 に答える
12020 参照

javascript - showModalDialogによって開かれたダイアログを閉じる方法は?

私はこれを試しましたが失敗しました:

0 投票する
1 に答える
4866 参照

javascript - モーダル ウィンドウでモーダル ウィンドウを開こうとすると Javascript エラーが発生する

アプリケーションは、asp.net 2.0 を使用して Windows サーバー 2003 ボックスで実行されており、IE 固有の Web アプリです。JavaScript にある関数呼び出しから showModalDialog(...) を使用して iframe でフォームを開くボタンがあります。

関数の例を次に示します。

ホスト フレームは、使用されている実際のフォームを含む aspx ページを読み込んでいます。開いているフォームには、クリックすると変更されたフォームを送信するボタンがあります。ただし、フォームが送信される前に変更が行われなかった場合は、フォームに変更がないことを示す別のモーダル ウィンドウがポップアップします。このモーダル ウィンドウは、ボタン クリック イベントに何らかの JavaScript を登録することによって開かれます。コードは次のとおりです (C#)。

ボタンがクリックされ、このダイアログを表示する必要がある場合、次の JavaScript エラーが表示されます。

エラー: オブジェクトはこのプロパティまたはメソッドをサポートしていません

奇妙なことに、ローカルでアプリケーションにアクセスして試してみると、すべて正常に動作しますが、別のコンピューターからアクセスするとエラーが発生します。また、サーバーによっては (すべて Windows Server 2003 でテストするためのサーバーが多数あります)、別のコンピューターでもエラーが発生しない場合があります。これらのコンピュータは、同じバージョンの IE を同じ設定で使用して、同じソフトウェア バージョンを実行しています。どこかに設定上の問題があると思いがちですが、設定が同じであるため、判断するのは困難です。アプリの仕組みや使用されるテクノロジーを実際に変更することはできません。

何がこれを引き起こしているのか、誰にもアイデアがありますか?

0 投票する
1 に答える
680 参照

showmodaldialog - showModalDialog について

「クレジットカードで支払う」ボタンがポップアップを表示するショッピングカートページがあります。

window.showModalDialog(ccPaymentURL, null, "dialogwidth: 450px; dialogheight: 370px; センター: はい; サイズ変更可能: はい");

このポップアップ (別のドメインにある SSL ページ) に読み込まれた URL は、CC 情報を収集し、請求を処理し、(元のサイトで実行されている Web サービスを介して) 注文を「支払い済み」としてマークします。

この時点で、ポップアップは親を更新することになっています。親がデータベースを再クエリして、注文が支払われたことを確認し、更新された注文ステータスを再表示します。

私の統合テストは、すべてが正しく機能していることを示しています。しかし実際には... 一部のユーザーがどこかで連鎖を断ち切っており、親ページのリロードに失敗しています。さまざまなブラウザー (および/またはブラウザー設定) が showModalDialog をどのように扱うかに関係していると思われるので、この種のユースケースを実装しようとするとうまくいかない既知の事柄の概要を探しています。

どうも

0 投票する
3 に答える
5181 参照

delphi - Delphi-アプリでモーダルダイアログが開いているかどうかを検出する

エラー状態が検出されたときにモーダルアラートダイアログをポップアップするDelphi2006アプリがあります。エラー状態のチェックはアイドルハンドラーで行われるため、別のモーダルダイアログが表示された場合、そのダイアログが別のモーダルダイアログの上にポップアップ表示されることがあります。これは、アラートダイアログが閉じられた後、アプリケーションのメインフォームがフォーカスを取得しないという、ユーザーにとって混乱を招く状況につながる可能性があります。これは、これらが別のあいまいなモーダルダイアログであるためです。

私がやりたいのは、アプリでモーダルダイアログが開いている間、アラートポップアップを延期することです。

GetLastActivePopup(MyMainWindow.Handle)を試しましたが、常にゼロ以外を返すようです。

0 投票する
1 に答える
8035 参照

javascript - ASP.NET クロス ドメイン モーダル ウィンドウ (window.showModalDialog) - パラメーター値は常に​​「未定義」

親ページ .aspx と子ページ .html の 2 つの Web ページがあります。親ページには、window.showModalDialog を介してモーダル ウィンドウとして子ページを呼び出すための JavaScript 関数があります。

}

子ページには次のものがあります。

そのため、親ウィンドウを起動して子モーダル ウィンドウを呼び出すと、ボタン Button1 をクリックすると、「someValue」を持つパラメーターが親ウィンドウ (modalReadyForTest コントロール) に返されます。

同じドメインに親ページと子ページの両方がある場合、問題なく動作します。それらを異なるドメインに置くと、パラメーターの値が渡されず、代わりに常に「未定義」になります。

パラメータ値を親ページに返す別のドメインからのモーダルウィンドウを持つ方法はありますか? これらのクロスドメインの問題はまったく解決できますか、それともまったく別のアプローチを試す必要がありますか?

ご支援をいただければ幸いです。

ありがとう、アンバー

0 投票する
1 に答える
1783 参照

popup - 「window.showModalDialog」が2番目のウィンドウを開くのを止める方法は?

Microsoft のドキュメントでは、この機能を無効にする方法に関する私の質問に対する答えが見つかりません。

セットアップは、ブラウザを開いてwindow.showModalDialog. ユーザーがポップアップ ウィンドウに入力して送信すると、ポップアップから新しいウィンドウが開きます。

元のポップアップからの結果で新しいウィンドウを開きたくありません。結果は、最初のポップアップを呼び出す元のブラウザー ウィンドウに送信する必要があります。

Mozilla と IE8 でこれを達成しましたが、実装を他の Internet Explorer バージョンと下位互換性を持たせたいと考えています。