JSFiddle - React, Tailwind, and code Playground
HTML
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.8/angular.min.js"></script>
<div class="container" ng-app="app" ng-controller="MainCtrl">
<header>
<div class="page-header">
<h2>バインディングに連動した要素の操作可・不可</h2>
</div>
</header>
<section>
<form name="form" class="form-horizontal">
<div class="form-group">
<label for="tiName" class="col-sm-2 control-label">名前</label>
<div class="col-sm-10">
<input id="tiName" type="text" class="form-control" placeholder="あなたの名前を入力してください" ng-model="name" />
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-2">
<!-- ng-disabledで条件を指定することで自動的に操作可・不可が切り替わる(初期状態では不可。inputなどにも使える。) -->
<button class="btn btn-primary btn-block" ng-disabled="name == null || name == ''">送信</button>
</div>
</div>
</form>
</section>
</div>
JavaScript
// appというAngularJSアプリケーションモジュールを作成
var app = angular.module('app', []);
// アプリケーションモジュールにMainCtrlというコントローラーを追加
app.controller('MainCtrl', function ($scope) {});