用angularjs清除html表单

时间:2014-06-29 15:54:20

标签: html angularjs

我想按提交时以html格式清除输入值。 该功能在控制器中。 我试图这样做:$ scope.name =“”或null(对于每个输入)但它不起作用。 这是html文件:

    <label for="messageName">Message Name:</label>
    <input type="text" ng-model="message.name"  name="message.name" required/>

    <label for="text">Text:</label>
    <input type="textarea" ng-model="message.text" name="message.text" required/>

    <label for="images">Images:</label>
    <input type="text" ng-model="message.images" name="message.images" required/>

    <label for="template">Template:</label>
    <input list="template" ng-model="message.template" name="message.template" required/>
    <datalist id="template">
        <option value="template1">
        <option value="template2">
        <option value="template3">
    </datalist>

    <label for="millisecToShow">Millisec To Show:</label>
    <input type="number" min="1000" max="10000" ng-model="message.millisecToShow" name="message.millisecToShow" required/>

    <label for="timeFrame">Time Frame:</label>
    <label for="TimeStart">Start Time:</label>
    <input type="datetime-local" ng-model="message.startDateTime" name="message.startDateTime" required/>
    <label for="DateStart">End Time:</label>
    <input type="datetime-local" ng-model="message.endDateTime" name="message.endDateTime" required/>

    <label for="days">Days:</label><br>
    <form>
        <input type="checkbox" ng-model="message.sunday" name="message.days" value="Sunday">Sunday<br>
        <input type="checkbox" ng-model="message.monday" name="message.days" value="Monday">Monday<br> 
        <input type="checkbox" ng-model="message.tuesday" name="message.days" value="Tuesday">Tuesday<br> 
        <input type="checkbox" ng-model="message.wednesday" name="message.days" value="Wednesday">Wednesday<br> 
        <input type="checkbox" ng-model="message.thursday" name="message.days" value="Thursday">Thursday<br> 
        <input type="checkbox" ng-model="message.friday" name="message.days" value="Friday">Friday<br> 
        <input type="checkbox" ng-model="message.saturday" name="message.days" value="Saturday">Saturday<br> 
    </form>

    <label for="screenId">Screen ID:</label>
    <input list="screenId" ng-model="message.screenId" name="message.screenId" required/>
    <datalist id="screenId">
        <option value="screen1">
        <option value="screen2">
        <option value="screen3">
    </datalist>

    <button ng-click="createButton()">Create</button>

这是控制器:

angular.module('CreateCtrl', []).controller('CreateController', function($scope, superService) {

    $scope.createButton = function() {
        superService.insert($scope.message).then(function (result)
            if (result == "true") {
                alert('Create successful');
                $scope.tagline = 'Create successful';
                return result.data;
            }
            else {
                $scope.tagline = 'Cannot create message';
            }
        });
    };
});

我想在发送文件后删除输入。 谢谢(:

1 个答案:

答案 0 :(得分:0)

考虑到所有字段都引用$scope.message.*,是不是更容易清理整个message这样的对象?

if (result === "true") {
    alert('Create successful');
    $scope.tagline = 'Create successful';

    // cleaning up
    $scope.message = {
        name: null,
        text: null,
        images: null,
        template: null
    };

    return result.data;
}

事实上,如果你想彻底擦拭整个物体,如果是我,我会去$scope.message = {};并完成它。