AngularJS Example:

HTML

<div ng-app="test" ng-controller="Controller1">
    <button class="btn btn-success" ng-click="add_email()">Add E-mail</button>
 <div data-ng-repeat="email in emails">
     <input type="text" id="email_{{$index}}" placeholder="E-mail Address" data-ng-model="email">
 </div>
    <button class="btn btn-success" ng-click="add_object()">Add Object</button>
 <div data-ng-repeat="object in objects">
     <input type="text" id="object_a_{{$index}}" placeholder="A" data-ng-model="object.a">
     <input type="text" id="object_b_{{$index}}" placeholder="B" data-ng-model="object.b">
    </div>
    
    <button class="btn btn-primary" ng-click="save()">Save</button>
</div>

CSS

</style> <!-- Ugly Hack due to jsFiddle issue: http://goo.gl/BUfGZ --> 
<link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.css">
<script src="http://code.angularjs.org/angular-1.0.0rc10.min.js"></script>
<script src="http://code.angularjs.org/angular-resource-1.0.0rc10.min.js"></script>
<style>

JavaScript

var module = angular.module('test', []);

function Controller1($scope) {
    $scope.emails = [''];
    $scope.objects = [{}];
    
    $scope.add_email = function() {
    //$scope.emails = null;
        $scope.emails.push('100');  
    };
    
    $scope.add_object = function() {
        $scope.objects.push({});  
    };
    
    $scope.save = function() {
        console.log($scope.emails);                    
        console.log($scope.objects);  
    }
}