ASP.netにて、ドロップダウンリストの選択に応じて、
処理を分岐させるプログラムを書いています。
現在、エラーになっているのですが、
下記のコードです。
-----------------------------------
<%@ Page Title="ホーム ページ" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<p><strong>【検索条件】</strong></p>
<div style="border:#d2d2d2 solid 1px;">
<p style="margin-left: 30px;">
<asp:DropDownList ID="ddlPref" runat="server">
</asp:DropDownList>
<asp:DropDownList ID="ddlNumOfPeople" runat="server">
</asp:DropDownList>
</p>
<p style="margin-left: 30px;">
<asp:DropDownList ID="ddlLayout" runat="server">
</asp:DropDownList>
<asp:DropDownList ID="ddlPrice" runat="server">
</asp:DropDownList>
</p></div>
<p>
</p>
<p>
<asp:Button ID="btnSearch" runat="server" Text="検索" Width="90px"
OnClientClick="javascript:DDLEnabled()" />
</p>
<script language="javascript" type="text/javascript">
function DDLEnabled() {
var srtMsg = '';
var Pref = document.getElementById("MainContent_ddlPref");
var PrefValue = Pref.options[Pref.selectedIndex].value;
var NumOfPeople = document.getElementById("MainContent_ddlNumOfPeople");
var NOPValue = NumOfPeople.options[NumOfPeople.selectedIndex].value;
var Layout = document.getElementById("MainContent_ddlLayout");
var LayoutValue = Layout.options[Layout.selectedIndex].value;
var Price = document.getElementById("MainContent_ddlPrice");
var PriceValue = Price.options[Price.selectedIndex].value;
if (PrefValue == "0") { srtMsg = "都道府県を選択してください。\n"; }
if (NOPValue == "0") { srtMsg = srtMsg + "人数を選択してください。\n"; }
if (LayoutValue == "0") { srtMsg = srtMsg + "レイアウトを選択してください。\n"; }
if (PriceValue == "0") { srtMsg = srtMsg + "料金を選択してください。\n"; }
if (srtMsg != '') { alert(srtMsg) }
if (PrefValue !== "0" && NOPValue !== "0" && LayoutValue !== "0" && PriceValue !== "0")
{
//ここで、検索の実行がされるようにしたい。。。
}
}
</script>
<p>
</p>
</asp:Content>
----------------------------------
上記コードにて、ボタン(btnSearch)が押下された時、
ドロップダウンリストが、
(1):全て選択されているとき ⇒ 次の画面へ
(2):未選択のものがあるとき ⇒ javascriptのポップ・アップ表示 をしたいと考えています。
#未選択、選択の判断はvalueの値がデフォルト値 "0"なので、0を未選択、0以外を選択済み
というように判断しています。
現在、ポップ・アップの表示は問題なくできているのですが、
全て選択されている時の処理(ボタンの押下、実行)ができていません。
どなたかご存知の方がいたらおしえてください。
宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
横から失礼します。
コード例を拝見していると、クライアントサイドの検証が先ずあって、それを通った結果、ポストバックを敢行したい、というような雰囲気になっています。
ASP.NET最大の売りというのは、ポストバックとビューステートであり、これを使って簡単にサーバサイドで検証(バリデーション)が行え、また、クライアント検証も(ある程度は)自動生成できる、ということだと思います。
最近はAjax処理などが流行で、以前ほどの「ポストバック」->「サーバサイド検証」(「ついでにクライアント検証もそこそこ」)という流れでもないのかもしれませんが、ひょっとしてそういうことを意識してない、phpみたいな検証方法をお考えですか?
ならば、すぐ改めるべきだと思います。
こんなベタな検証ルーチンはASP.NET(特にWebフォーム)では必要ありません。
ValidationControlを使って、サーバ・クライアントとも自動実行しましょう。
ご丁寧にありがとうございます。javascriptからボタンの実行をさせることでかいけつしましたが、仰られているようにクライアントサイドの検証を試みはASP.netにそぐわないようですね。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Panelを重ねる方法
-
ASPからASPを呼び出す方法
-
GridView表示の高速化
-
ASPでテキストファイルにデータ...
-
ASPでpingを飛ばす事は、可能で...
-
北原化粧品をお使いの方へ
-
SqlDataSource SelectCommand ...
-
C# try-catch でcatchに飛ばす方法
-
FileCopy時のエラー
-
画面のリフレッシュを意図的に...
-
07弥生会計のエラー
-
EXCEL VBA API宣言でコンパイル...
-
ASP 0x80004005 クライアント...
-
エラー 'ASP 0115' について
-
ASP内で他のASPファイルを読み...
-
fopenでエラーとなる
-
ソケット通信で同時受信の制限?
-
エラー 'ASP 0115'
-
[PL/SQL]REFCURSORが戻り値のプ...
-
ASPからWscriptを利用して外部...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Response.Redirectで引数2つの...
-
ASPからASPを呼び出す方法
-
GridView表示の高速化
-
SqlDataSource SelectCommand ...
-
隠しフィールドをVBScriptでの...
-
GridViewからテンプレートフィ...
-
ページの更新内容が反映されない。
-
asp.net でのドロップダウンリ...
-
ASPへのデータの受け渡しについて
-
<ASP.NET>DataGridでOnSelected...
-
UpdatePanel と GridViewについ...
-
AutoPostBackにしているが、う...
-
Tableを動的に増やしたい。
-
ビデオテープに貼るラベルシー...
-
ASPでテキストファイルにデータ...
-
1つのファイルの中身が多くな...
-
Panelを重ねる方法
-
DropDownListの表示に列連結し...
-
GETで渡されたパラメータを遷移...
-
【ASP.NET】 ログインコントロ...
おすすめ情報