[解決済み] ブートストラップモーダルが開いているかどうかを確認する方法。
2022-07-21 08:01:53
質問
モーダルが開いているときだけ検証を行う必要があります。モーダルを開いてから閉じ、モーダルを開くボタンを押すと、jqueryの検証は行われますが、モーダルが解除されたため表示されず、うまくいきません。
そこで、モーダルが開いているときにjqueryで検証を行いたいのですが、可能でしょうか?
<script>
$(document).ready(function(){
var validator =$('#form1').validate(
{
ignore: "",
rules: {
usu_login: {
required: true
},
usu_password: {
required: true
},
usu_email: {
required: true
},
usu_nombre1: {
required: true
},
usu_apellido1: {
required: true
},
usu_fecha_nac: {
required: true
},
usu_cedula: {
required: true
},
usu_telefono1: {
required: true
},
rol_id: {
required: true
},
dependencia_id: {
required: true
},
},
highlight: function(element) {
$(element).closest('.grupo').addClass('has-error');
if($(".tab-content").find("div.tab-pane.active:has(div.has-error)").length == 0)
{
$(".tab-content").find("div.tab-pane:hidden:has(div.has-error)").each(function(index, tab)
{
var id = $(tab).attr("id");
$('a[href="#' + id + '"]').tab('show');
});
}
},
unhighlight: function(element) {
$(element).closest('.grupo').removeClass('has-error');
}
});
}); // end document.ready
</script>
どのように解決するのですか?
GregPettit が指摘するレースコンディションを回避するには、次のようにします。
($("element").data('bs.modal') || {})._isShown // Bootstrap 4
($("element").data('bs.modal') || {}).isShown // Bootstrap <= 3
// or, with the optional chaining operator (?.)
$("element").data('bs.modal')?._isShown // Bootstrap 4
$("element").data('bs.modal')?.isShown // Bootstrap <= 3
で説明したように Twitter Bootstrap Modal - IsShown .
モーダルがまだ開かれていないとき。
.data('bs.modal')
は
undefined
を返すので
|| {}
- を作ることになります。
isShown
という(偽の)値
undefined
. もしあなたが厳密さを求めるのであれば、次のようにすることもできます。
($("element").data('bs.modal') || {isShown: false}).isShown
関連
-
echarts-all.js:1 Uncaught TypeError: nullのプロパティ'getAttribute'を読み取ることができません。
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] jQueryで複数のクラスを持つ要素を選択するにはどうすればよいですか?
-
[解決済み] BootstrapのモーダルウィンドウをjQueryで開くには?
-
[解決済み] Bootstrapのモーダルを閉じる
-
[解決済み] jQuery OR Selector?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 複数のクラスを削除する(jQuery)
-
[解決済み] jQueryでオブジェクトに登録されたイベントハンドラを検索する
-
[解決済み] jQueryを使用してCSSのdisplay noneまたはblockプロパティを変更するにはどうすればよいですか?
-
[解決済み] .text()を使って子タグにネストされていないテキストのみを取得する方法
-
[解決済み] jQueryの検証:デフォルトのエラーメッセージを変更する
-
[解決済み] セレクトボックスの選択項目を設定する
-
[解決済み】jQuery:keyPress Backspaceが発射されない?
-
[解決済み】フォームのhiddenフィールドにjQueryの".val() "を使って値を設定してもうまくいかない。
-
[解決済み】iPad版SafariでjQueryを使ってタッチイベントを認識させる方法は?可能でしょうか?
-
[解決済み] jQueryでinput[type=text]の値変化を検出する