質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

1回答

10946閲覧

TextboxのOnTextChanged発生時に、確認メッセージ(Confirm)を表示したい

Caffellattep

総合スコア12

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2016/10/12 05:43

編集2016/10/13 03:22

###前提・実現したいこと
ある登録画面のコード検索部で、商品コードを表示するために、検索ボタンをクリックして、検索画面を表示。
検索画面の一覧から、商品コードを選択して選択ボタンをクリックした時に、javascriptで
「宜しいですか?(OK/キャンセル)」確認メッセージを表示しています。

これを、商品コードの表示エリア(Textbox)を表示のみから編集可能にして、コードを直接入力して、
商品コードの情報を取得するように変更しました。

この時検索ボタンから選択した場合と同じように、確認メッセージを表示させたいのですが、
Textboxのイベントでjavascriptを呼び出す方法がわかりません。

サーバ側からメッセージを表示するようにしようかと思ったのですが、ASP.NETでメッセージボックスを表示
する方法が判りませんでした。

Textboxの値を変更するタイミングで確認メッセージの表示は実現できるのでしょうか?

C#

1aspxファイル側ソース 2// javascript部 3 <script type="text/javascript"> 4 function switchSelect { 5 var status; 6 status = 0; // 0:処理無 1:情報クリア 7 var value = $("#<%=hfTradeId.ClientID%>").val(); 8 if (!(value == null || value == "")) { 9 if (confirm("よろしいですか?")) { 10 status = 1; 11 } 12 SetValue("<%=hfStatusMode.ClientID%>", status); 13 } 14 15 } 16 </script> 17 18 19 <%--商品コード--%> 20 <asp:TextBox ID="txtSyohinCd" runat="server" 21 AutoPostBack="true" OnTextChanged="txtSyohinCdChanged" 22 EnableViewState="true" Width="65%" Text="" Enabled="true"></asp:TextBox> 23 <%--選択--%> 24 <asp:LinkButton CssClass="button-link" runat="server" ID="btnSelect" Width="60" OnClientClick="switchSelect;" OnClick ="btnSearchSelect_Click" Text="選択" />
csファイル側ソース /// <summary> ///商品検索画面 選択ボタン /// </summary> /// <param name="sender"</param> /// <param name="e"></param> protected void btncSearchSelect_Click(object sender, EventArgs e) { //選択処理 Search(sender, e); //この中でDBより商品コードをキーに商品情報を取得 } /// <summary> ///商品コード変更時 /// </summary> /// <param name="sender"</param> /// <param name="e"></param> protected void txtSyohinCdChanged(object sender, EventArgs e) { //選択処理 Search(sender, e); //この中でDBより商品コードをキーに商品情報を取得 }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

koutajero

2016/10/12 07:12

TextBox1.Attributes.Add("OnChange", "return confirm('変更されたよ');")ということではなくて?
退会済みユーザー

退会済みユーザー

2016/10/12 08:42

コードは ``` と ``` で囲ってください。インデントが効いて見やすくなります。
Caffellattep

2016/10/13 03:23

ご指摘ありがとうございます。編集してみました。
guest

回答1

0

ベストアンサー

function switchSelect は function switchSelect() の間違いではないですか?

そうだと理解して、

Textboxの値を変更するタイミングで確認メッセージの表示は実現できるのでしょうか?

change イベント(テキストボックスに文字を入力してからフォーカスを外すと発生)のタイミングで JavaScript の関数 switchSelect() を呼び出せば良いのであれば、質問者さんが提示された TextBox のコード、

<asp:TextBox ID="txtSyohinCd" ... ></asp:TextBox>

に onchange="switchSelect()" を追加してみてください。

AutoPostBack="true" と設定した場合、その機能を実現するため、ASP.NET は以下のようなスクリプトを html ソースの onchange と onkeypress 属性に追加します。

<input name="txtSyohinCd" ... type="text" onchange="setTimeout('__doPostBack(\'txtSyohinCd\',\'\')', 0)" onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;" />

上に書いた TextBox への onchange="switchSelect()" の追加で、switchSelect() 関数は setTimeout の前に追加されるはずです。

なので、change イベントのタイミングで switchSelect() が呼び出されるはずです。

ただし、ASP.NET が AutoPostBack 機能のため追加したスクリプトと衝突して、全体的にうまく動かないかもしれませんので、十分検証してください。

投稿2016/10/13 09:21

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Caffellattep

2016/10/17 01:42

実現出来ました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問