[解決済み] ASP.NETのポストバック(LinkButtonのクリック)を行うためにJavaScriptを使用する - ポストバックは発生するが、Clickイベントは発生しない
2022-02-19 20:33:58
質問
私は、あるスクリプトを使ってポストバックを起こしています。以下はその状況です。
- ユーザーがリンクをクリックし、現在地を知る必要のある機能を実行する。
- スクリプトがブラウザから現在地を取得(navigator.geolocation.getCurrentPositionを使用)。
- 位置情報を取得したら(上記の呼び出しは非同期なので、ユーザーが位置情報を共有することに同意するのを待つ必要があります)、スクリプトが位置情報をサーバーに送り返すようにしたいのです。これは、隠しリンクボタンからのポストバックをシミュレートすることによって行います。
以下、該当するコードです。
function submitLocation_Inline(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
document.getElementById("ctr11837_Locator_hLat").value = latitude;
document.getElementById("ctr11837_Locator_hLng").value = longitude;
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm._doPostBack('ctr11837_Locator_btnSubmitLocation', 'inline');
}
<a href="javascript:__doPostBack('ctr11837$Locator$btnSubmitLocation','')" id="ctr11837_Locator_btnSubmitLocation"></a>
後ろのコードでは、隠されたリンクボタンのクリックイベントのハンドラ(btnSubmitLocation_Click)を持っています。しかし、これは決して呼び出されません。ポストバックは正常に行われますが、それを処理するために、Request["_]を検査する必要があります。 EVENTTARGET"]およびRequest[" _EVENTARGUMENT"] が、Page_Load 中に、それが私が望むポストバックであることを確認します。
btnSubmitLocation_Clickが呼び出されるようにするには、どのようにコードを修正すればよいですか?
PS - これが関連しているかどうかは分かりませんが、隠されたリンクボタンはUpdatePanelの中にあります。
解決方法は?
コントロールの ClientId を送信して __doPostback() を呼び出していることが問題だと思います(asp.net のリンクボタンを使用していると思われます)。ちょうど
href
が自動生成されます。
を呼び出してみてください。
prm.__doPostBack('ctr11837$Locator$btnSubmitLocation', 'inline')
の代わりに
EDIT: そして、アンダースコアを落としたようです。
prm.__doPostBack()
あなたのコードを確認してください。
関連
-
[解決済み】Failed to load resource: net::ERR_FILE_NOT_FOUND loading json.js
-
[解決済み】JavaScriptのisset()に相当するもの
-
[解決済み】JavaScriptのボタンonclickが機能しない
-
[解決済み】Reactのeslintエラーはpropsの検証で見つからない
-
[解決済み】Javascript - ERR_CONTENT_LENGTH_MISMATCH
-
[解決済み】 \u003C とは何ですか?
-
[解決済み】JavaScriptで関数が存在するかどうかを確認する方法は?
-
[解決済み] ポストバックまたはコールバックの引数が無効です。 イベント検証は '<pages enableEventValidation="true"/>' を使用して有効になっています。
-
[解決済み] JavaScriptによるASP.NETのポストバック
-
[解決済み】JavaScriptのクリックイベントリスナーをクラスで使用する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Facebook Graph API のクエリで with=location を使用すると "Uncaught (in promise) undefined" というエラーが発生する。
-
[解決済み】最大呼び出しスタックサイズ超過エラーとその修正方法とは?
-
[解決済み】Javascriptのコールバック関数がFirefoxで「Callback is not a function」というエラーを投げる
-
[解決済み】未定義のプロパティ 'bind' を読み込めない。React.js【重複あり
-
[解決済み] エラー。モジュールhtmlが見つからない
-
[解決済み】JavaScript ランタイムエラー:'$'が未定義です。
-
[解決済み】FirefoxでGoogle Maps V3をリモートで使用すると「googleが定義されていません」と表示される。
-
[解決済み】Jestが予期しないトークンに遭遇した
-
[解決済み】このオブジェクトの "forEach "はなぜ関数でないのですか?
-
[解決済み】JavaScriptで関数が存在するかどうかを確認する方法は?