ホームページ  >  記事  >  ウェブフロントエンド  >  Bootstrapポップアップボックスモーダルの上層の入力ボックスがフォーカスを取得できない問題の解決方法

Bootstrapポップアップボックスモーダルの上層の入力ボックスがフォーカスを取得できない問題の解決方法

高洛峰
高洛峰オリジナル
2016-12-24 10:43:461632ブラウズ

Bootstrap ポップアップ ボックスのモーダルの上にある入力ボックスはフォーカスを取得できません

1. Bootstrap フレームワークでは、モーダル ポップアップ ボックスは現在 1 つのレイヤーのみをサポートしています

モーダル ポップアップ ボックスは、現在のポップアップ ボックスでは使用できなくなりました。
カスタム ポップアップ ボックスを使用する場合、例: http://my.oschina.net/tianma3798/blog/737232
カスタム ポップアップ ボックスに入力入力ボックスがある場合、入力入力ボックスフォーカスを取得できません。考えられる理由は次のとおりです:
多くはポップアップ レイヤーの定義に使用されています

<div class="modal fade" tabindex="0" role="dialog" id="myModal" data-backdrop="static">
 <div class="modal-dialog modal-lg">
  <div class="modal-content">
  <div class="modal-header">
   <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
   <h4 class="modal-title" id="myModalLabel">添加学校</h4>
  </div>
  <div class="modal-body">
   <form class="form-horizontal" name="myForm" novalidate>
   <input type="hidden" ng-model="entity.SchID" />
   <div class="form-group">
    <label for="SchName" class="col-sm-2 control-label">学校名称:</label>
    <div class="col-sm-10">
    <input type="text" required ng-minlength="3" ng-maxlength="30"
     class="form-control"
     ng-model="entity.SchName" name="SchName" placeholder="长度3-30">
    <span class="text-danger" ng-show="myForm.SchName.$dirty && myForm.SchName.$invalid">
     <span ng-show="myForm.SchName.$error.required">名称是必须的</span>
     <span ng-show="myForm.SchName.$error.minlength">最小长度3</span>
     <span ng-show="myForm.SchName.$error.maxlength">最大长度30</span>
    </span>
    </div>
   </div>
  
   <div class="form-group">
    <label for="WebSite" class="col-sm-2 control-label">学校官网:</label>
    <div class="col-sm-10">
    <input required type="url" class="form-control" ng-model="entity.WebSite" name="WebSite"
     placeholder="链接地址" />
    <span class="text-danger" ng-show="myForm.WebSite.$dirty && myForm.WebSite.$invalid">
     <span ng-show="myForm.WebSite.$error.required">姓名是必须的</span>
     <span ng-show="myForm.WebSite.$error.url">链接格式不正确</span>
    </span>
    </div>
   </div>
  
   <div class="form-group">
    <label for="FoundTime" class="col-sm-2 control-label">建校时间:</label>
    <div class="col-sm-10">
    <input required type="number" class="form-control" ng-model="entity.FoundTime" name="FoundTime"
     placeholder="年份" />
    <span class="text-danger" ng-show="myForm.FoundTime.$dirty && myForm.FoundTime.$invalid">
     <span ng-show="myForm.Summary.$error.required">姓名是必须的</span>
     <span ng-show="myForm.Summary.$error.number">请输入数字(年份)</span>
    </span>
    </div>
   </div>
   <div class="form-group">
    <label class="col-sm-2 control-label">入学时间:</label>
    <div class="col-sm-10">
    <div class="selectBox" id="selectMonth"></div>
    <input type="hidden" name="Province" ng-model="entity.MonthList" />
    </div>
   </div>
   </form>
  </div>
  <div class="modal-footer">
   <button type="button" class="btn btn-success" ng-disabled="myForm.$invalid" ng-click="addOrUpdate()">保存</button>
   <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
  </div>
  </div>
 </div>
 </div>

解決策は、tabindex="0" 属性を削除することで、フォーカスを取得できます

94e8a467b4407f74da289906744f77f3

ブートストラップの上位層の入力ボックスがポップする問題のその他の解決策については、 -up box モーダルはフォーカスを取得できません。 関連記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。