ASP.NET で作成された Web ページ内の __doPostBack 関数についての質問です。
以下のコード(抜粋、左端は行数)において、以下の点が不明ですのでお教え願います。
Q1. 11 行目の記述は何のために必要なのでしょうか?
もし、9 行目での theForm オブジェクトの取得が失敗した場合に、11 行目が必要になる
というのであれば、最初から 11 行目のみ書いておけばよいと思うのですが。
Q2. 14 行目の if 文の条件について、どちらか一方だけでは何故ダメなのでしょうか?
1 <form name="aspnetForm" method="post" action="Details.aspx" id="aspnetForm">
2 <div>
3 <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
4 <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
5 <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="(略)" />
6 </div>
7 <script type="text/javascript">
8 <!--
9 var theForm = document.forms['aspnetForm'];
10 if (!theForm) {
11 theForm = document.aspnetForm;
12 }
13 function __doPostBack(eventTarget, eventArgument) {
14 if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
15 theForm.__EVENTTARGET.value = eventTarget;
16 theForm.__EVENTARGUMENT.value = eventArgument;
17 theForm.submit();
18 }
19 }
20 // -->
21 </script>
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
バージョンによる違いを吸収するための施策だと
思います。
バージョンによってどちらかしか反応しないことが
想定されているのではないでしょうか?
たとえばQ1については11行目ですべてが包含されるなら
問題ないですが、実際には11行目でこぼれる分がある
ため、11行目のみを書いてそれを補完するために
9行目を書くということになるでしょう。
ご回答ありがとうございます。
なるほど、ブラウザのバージョン差異の吸収が考えられますね。
具体的にどういった場合に必要とされるコードなのか、バージョン差異の観点から調べてみようと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptにて動的に配列を作...
-
javascriptの値をformのinput h...
-
Formの「action」属性を取得し...
-
時間の比較は可能でしょうか?
-
name属性とid属性の違い。DOMの...
-
imgタグ内 name とidの違い
-
テキストエリアをenterキーでフ...
-
JavascriptでのJSONデータの使い方
-
jQueryで属性連番処理を、複数...
-
正規表現で複数マッチ条件で悩...
-
ボタン2回押しを無効にしたい
-
<form action="#">の意味とは?
-
<td>の中のonClick="location" で
-
背景色を変えて未入力チェック...
-
【jsp/Java】チェックボックス...
-
javascriptで画像の移動
-
selectを変更不可にしたい
-
selectを使った計算
-
セレクトメニューで選択された...
-
テキストフィールドに入力した...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【jQuery】input nameの文字列...
-
javascriptの値をformのinput h...
-
JavaScriptにて動的に配列を作...
-
新しくフォルダを作成したい
-
二つの入力欄に、同時に同じ文...
-
Javascriptでのbuttonのname属...
-
name属性のないformタグの、中...
-
テキストボックスの入力をリセット
-
出発駅A、到着駅Bを選択すると...
-
ASP.NETでNAME属性を固定にしたい
-
submitボタン押下時にPOSTされ...
-
ラジオボタンでクリックした値...
-
テキストボックスの値同士を比...
-
jqueryでtextareaのcols、rows...
-
入力フォームに半角スペース以...
-
cookie使用時にundefinedと表示...
-
ファイル選択ダイアログが表示...
-
テキストエリアをenterキーでフ...
-
hiddenを動的に作成したい
-
ボタンを押すとテキストボック...
おすすめ情報