※ ChatGPTを利用し、要約された質問です(原文:asp.net でのドロップダウンリスト 条件指定)
ドロップダウンリストの条件指定 | ASP.net
このQ&Aのポイント
ASP.netを使用して、ドロップダウンリストの選択に応じて処理を分岐させるプログラムを作成しています。しかし、全て選択されている場合の処理がうまくできていません。
ポップアップの表示は問題なくできていますが、全て選択されている時の処理が実行されない問題があります。
ポップアップ表示がされない場合、つまり全て選択されている場合には処理が実行されるようにしたいです。
asp.net でのドロップダウンリスト 条件指定
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以外を選択済み
というように判断しています。
現在、ポップ・アップの表示は問題なくできているのですが、
全て選択されている時の処理(ボタンの押下、実行)ができていません。
どなたかご存知の方がいたらおしえてください。
宜しくお願い致します。
お礼
ご丁寧にありがとうございます。javascriptからボタンの実行をさせることでかいけつしましたが、仰られているようにクライアントサイドの検証を試みはASP.netにそぐわないようですね。。