javascript - angularjs 清晰表单输入类型文件

标签 javascript angularjs html

每次单击“发布”时,我都会尝试清除表单:

$scope.product = {};
        $scope.upload = function(user) {
            var formData = new FormData;
            $scope.product.owner = user;

            for (key in $scope.product) {
                formData.append(key, $scope.product[key]);
                //console.log(key, ".........");
                //console.log($scope.product[key]);
            };

            //getting the file
            var file = $('#file')[0].files[0];
            formData.append('image', file);

            $http.post('http://localhost:3000/products', formData, {
                transformRequest: angular.identity,
                headers: {
                    'Content-Type': undefined
                }
            }).then(function(res) {
                $scope.item = res.data;
                console.log($scope.item.image);
                products.displayuserlist.push({
                    owner: $scope.product.owner,
                    car: $scope.product.newCar,
                    //seaters: 5,
                    price: $scope.product.newPrice,
                    //contact: 38880000,
                    area: $scope.product.businessArea,
                    image: $scope.item.image
                });
               $scope.product = null;
            });

        };

之外的所有输入填充均已清除

<form ng-submit="upload(currentUser())">
                    <div class="row">
                        <div class="form-group">
                            <div class="col-xs-2">
                                <label>Car</label>
                            </div>
                            <div class="col-xs-5">
                                <input type="text" placeholder="Perodua Myvi" class="form-control" ng-model="product.newCar" required>
                            </div>
                            <div class="col-xs-5"></div>
                        </div>
                    </div>
                    <div class="row">
                        <div class="form-group">
                            <div class="col-xs-2">
                                <label>Price(RM) per day</label>
                            </div>
                            <div class="col-xs-5">
                                <input type="text" placeholder="80" class="form-control" ng-model="product.newPrice" required>
                            </div>
                            <div class="col-xs-5"></div>
                        </div>
                    </div>
                    <div class="row">
                        <div class="form-group">
                            <div class="col-xs-2">
                                <label>Business Area</label>
                            </div>
                            <div class="col-xs-5">
                                <input type="text" placeholder="Universiti Malaysia Sabah" class="form-control" ng-model="product.businessArea" required>
                            </div>
                            <div class="col-xs-5"></div>
                        </div>
                    </div>
                    <div class="row">
                        <div class="form-group">
                            <div class="col-xs-2">
                                <label>Insert Car Image</label>
                                <br>
                            </div>
                            <div class="col-xs-5">
                                <!--<button type="button" class="btn btn-default btn-sm">
                                    <span class="glyphicon glyphicon-picture"></span> Image
                                </button>-->
                                <input type="file" id="file" ng-model="product.postimage" />
                            </div>
                            <div class="col-xs-5"></div>
                        </div>
                    </div>
                    <div class="row">
                        <div class="form-group">
                            <div class="col-xs-2">
                            </div>
                            <div class="col-xs-5">
                                <button type="submit" class="btn btn-primary btn-sm pull-right">
                                    <span class="glyphicon glyphicon-globe"></span> Publish
                                </button>
                            </div>
                            <div class="col-xs-5"></div>
                        </div>
                    </div>
                    <br>
                    <br>
                </form>

我尝试使用 angular.element("input[type='file']").val(null);和 $setPristine() 但它不起作用。我该怎么做?

最佳答案

你可以试试这个

$scope.product.postimage = null;
$('#file').val('');

关于javascript - angularjs 清晰表单输入类型文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43890156/

相关文章:

html - 为什么 flexbox 会用特定值改变我的 div 的宽度

javascript - AngularJS 工厂 getter 和 setter 对象

javascript - 如何关闭 iframe?

javascript - 注入(inject)/加载包含自注册组件的服务的正确位置是什么?

javascript - 将 lodash 注入(inject) Angular 提供程序

html - 如何改变特定表行 ID 的阴影

javascript - 从基类构造函数访问子构造函数

javascript - 如何使用 NodeJS Express 服务器在 HTML 中包含 JS 文件?

Angularjs Kendo Treeview 未在 Kendo 弹出窗口中显示复选框

css - 定位一个独立于窗口的div