گروه مقاله : Bootstrap
تاريخ انتشار : 1394/06/03 - 15:00
كد :6085

فرم ها در Bootstrap

تنظیمات پیش فرض Bootstrap
هنگام استفاده از Bootstrap ، تنظیمات فرم ها(form controls) به طور اتوماتیک، یک سری از تنظیمات استایل عمومی را از Bootstrap دریافت می کنند:
تمام عناصر متنی، از قبیل <input> و <textarea> و  <select>، که از کلاس form-control. استفاده می کنند، دارای عرضی برابر با %100 خواهند بود.
 
قالب بندی فرم ها در Bootstrap
Bootstrap سه نوع قالب بندی برای فرم ارائه می کند :
  • فرم عمودی (حالت پیش فرض)
  • فرم افقی
  • فرم درون خطی (inline)
فرم عمودی در Bootstrap   (حالت پیش فرض)
 
 
مثال زیر یک فرم عمودی با دو فیلد input ، یک checkbox ، و یک  submit button ایجاد می کند :
 
<!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="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</head>
<body>
 
<div class="container">
  <h2>Vertical (basic) form</h2>
  <form role="form">
    <div class="form-group">
      <label for="email">Email:</label>
      <input type="email" class="form-control" id="email" placeholder="Enter email">
    </div>
    <div class="form-group">
      <label for="pwd">Password:</label>
      <input type="password" class="form-control" id="pwd" placeholder="Enter password">
    </div>
    <div class="checkbox">
      <label><input type="checkbox"> Remember me</label>
    </div>
    <button type="submit" class="btn btn-default">Submit</button>
  </form>
</div>
 
</body>
</html>
 
فرم درون خطی (inline) در Bootstrap
 
 
 
در یک فرم درون خطی، تمام عناصر به صورت خطی و چپ چین می باشند و برچسب ها نیز کنار آنها می باشند:
نکته: این ویژگی، تنها برای فرم هایی که دارای منطقه ی دید با عرض حداقل 768 پیکسل می باشند اعمال خواهد شد.
 
قواعد اضافی برای یک فرم درون خطی:
 کلاس form-inline. را به عنصر <form> اضافه کنید.
مثال زیر، یک فرم درون خطی را به همراه دو فیلد input و یک checkbox و یک دکمه ی submit ایجاد می کند:
 
<!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="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</head>
<body>
 
<div class="container">
  <h2>Inline form</h2>
  <p>Make the viewport larger than 768px wide to see that all of the form elements are inline, left aligned, and the labels are alongside.</p>
  <form class="form-inline" role="form">
    <div class="form-group">
      <label for="email">Email:</label>
      <input type="email" class="form-control" id="email" placeholder="Enter email">
    </div>
    <div class="form-group">
      <label for="pwd">Password:</label>
      <input type="password" class="form-control" id="pwd" placeholder="Enter password">
    </div>
    <div class="checkbox">
      <label><input type="checkbox"> Remember me</label>
    </div>
    <button type="submit" class="btn btn-default">Submit</button>
  </form>
</div>
 
</body>
</html>
 
نکته : اگر شما برای هر عنصر ورودی(input) یک برچسب اضافه نکنید، screen reader ها با فرم شما به مشکل برخواهند خورد. می توانید با استفاده از کلاس sr-only.، بر چسب ها را برای تمام دستگاه ها به جز screen reader ها پنهان کنید.
مثال
 
<!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="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</head>
<body>
 
<div class="container">
  <h2>Inline form with .sr-only class</h2>
  <p>Make the viewport larger than 768px wide to see that all of the form elements are inline, left aligned, and the labels are alongside.</p>
  <form class="form-inline" role="form">
    <div class="form-group">
      <label class="sr-only" for="email">Email:</label>
      <input type="email" class="form-control" id="email" placeholder="Enter email">
    </div>
    <div class="form-group">
      <label class="sr-only" for="pwd">Password:</label>
      <input type="password" class="form-control" id="pwd" placeholder="Enter password">
    </div>
    <div class="checkbox">
      <label><input type="checkbox"> Remember me</label>
    </div>
    <button type="submit" class="btn btn-default">Submit</button>
  </form>
</div>
 
</body>
</html>
 
فرم افقی در Bootstrap
 
 
 
یک فرم افقی از دیگر فرم ها متمایز می باشد، هم از نظر مقدار کدها و هم از نظر ارائه ی فرم مورد نظر.
قواعد اضافی برای یک فرم افقی:
  • کلاس form-horizontal. را به عنصر <form> اضافه کنید.
  • کلاس control-label. را به تمام عناصر <label> اضافه کنید.
نکته: می توانید از کلاس های شبکه بندی از پیش تعریف شده Bootstrap برای تراز بندی کردن برچسب ها و کنترل کننده های فرم ، در یک طرح بندی افقی استفاده کنید.
در مثال زیر یک فرم افقی را به همراه دو فیلد ورودی  (input) و یک checkbox و یک دکمه ی submit ایجاد می کنیم:
 
<!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="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</head>
<body>
 
<div class="container">
  <h2>Horizontal form</h2>
  <form class="form-horizontal" role="form">
    <div class="form-group">
      <label class="control-label col-sm-2" for="email">Email:</label>
      <div class="col-sm-10">
        <input type="email" class="form-control" id="email" placeholder="Enter email">
      </div>
    </div>
    <div class="form-group">
      <label class="control-label col-sm-2" for="pwd">Password:</label>
      <div class="col-sm-10">          
        <input type="password" class="form-control" id="pwd" placeholder="Enter password">
      </div>
    </div>
    <div class="form-group">        
      <div class="col-sm-offset-2 col-sm-10">
        <div class="checkbox">
          <label><input type="checkbox"> Remember me</label>
        </div>
      </div>
    </div>
    <div class="form-group">        
      <div class="col-sm-offset-2 col-sm-10">
        <button type="submit" class="btn btn-default">Submit</button>
      </div>
    </div>
  </form>
</div>
 
</body>
</html>
 
 
نظرات كاربران :