最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - HTML5 <textarea> autofocus attribute inside modals does not working - Stack Overflow

programmeradmin3浏览0评论

HTML

 <textarea name="remark" autofocus></textarea>

HTML5 autofocus attribute inside modals does not working

This is my model page // but i have multiple model in same page //

 <div class="modal hide fade in" role="dialog" aria-labelledby="myModalLabel3" tabindex="-1" aria-hidden="true"  id="" > 
   <form class="form-horizontal" name="form" method="post" action="" style="   margin-bottom:0px">
      <!-- Modal content-->
            <div class="modal-content">
              <div class="modal-header">
                  <h4 class="modal-title">XXXXXXX</h4>
              </div>
              <div class="modal-body">  
                <div class="control-group">
                  <label class="control-label">YYYYY</label>
                  <div class="controls remark">
                    <textarea name="YYY" autofocus></textarea>
                  </div>
                </div> 

              </div>
              <div class="modal-footer"> 
                    <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
                    <input type="submit" onClick="alertConfirm('Test');" class="btbtn-medium btn-primary"  value="" name=""  />
              </div>
            </div>
        </form>
    </div>

I tried javascript Code also.. thanks in advance..

HTML

 <textarea name="remark" autofocus></textarea>

HTML5 autofocus attribute inside modals does not working

This is my model page // but i have multiple model in same page //

 <div class="modal hide fade in" role="dialog" aria-labelledby="myModalLabel3" tabindex="-1" aria-hidden="true"  id="" > 
   <form class="form-horizontal" name="form" method="post" action="" style="   margin-bottom:0px">
      <!-- Modal content-->
            <div class="modal-content">
              <div class="modal-header">
                  <h4 class="modal-title">XXXXXXX</h4>
              </div>
              <div class="modal-body">  
                <div class="control-group">
                  <label class="control-label">YYYYY</label>
                  <div class="controls remark">
                    <textarea name="YYY" autofocus></textarea>
                  </div>
                </div> 

              </div>
              <div class="modal-footer"> 
                    <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
                    <input type="submit" onClick="alertConfirm('Test');" class="btbtn-medium btn-primary"  value="" name=""  />
              </div>
            </div>
        </form>
    </div>

I tried javascript Code also.. thanks in advance..

Share Improve this question edited Mar 17, 2017 at 9:22 rubinmon asked Mar 17, 2017 at 9:02 rubinmonrubinmon 1733 silver badges12 bronze badges 1
  • 2 Your code doesn't contain any autofocus attributes. – node_modules Commented Mar 17, 2017 at 9:04
Add a ment  | 

4 Answers 4

Reset to default 9

autofocus doesn't work when your input is hidden by default. You have to do this in JS :

$('#myModal').on('shown.bs.modal', function() {
    $(this).find('textarea[name="YYY"]').focus();
});

Try this attribute in textarea

cdkFocusInitial

autofocus doesn't work when your input is hidden. use shown event for focus $('#myModal').on('shown', function() { })

$(document).ready(function(){
 $('#myModal').modal('show');
    $('#myModal').on('shown', function() {
        $("#remark").focus();
    })
 
})
<script src="https://cdnjs.cloudflare./ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn./bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn./bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>

<!-- Modal -->
<div id="myModal" class="modal fade" role="dialog">
  <div class="modal-dialog">

    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Modal Header</h4>
      </div>
      <div class="modal-body">
        <p>Some text in the modal.</p>
        <textarea id="remark" autofocus></textarea>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>

  </div>
</div>

Check example with working Auto focus in Textarea

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn./bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis./ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn./bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
  <!-- Trigger the modal with a button -->
  <button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>

  <!-- Modal -->
  <div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog">
    
      <!-- Modal content-->
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal">&times;</button>
          <h4 class="modal-title">Modal Header</h4>
        </div>
        <div class="modal-body">
          <form>
    <div class="form-group">
      <label for="ment">Comment:</label>
      <textarea class="form-control" rows="5" id="ment" autofocus></textarea>
    </div>
  </form>
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
      </div>
      
    </div>
  </div>
  
</div>

</body>
</html>

发布评论

评论列表(0)

  1. 暂无评论