【问题标题】:Clear input field using angularjs使用angularjs清除输入字段
【发布时间】:2017-01-24 21:12:05
【问题描述】:

让我重新表述我的问题,我有一个问题,删除上传的文件,所以我按照建议对我的代码进行了一些修改,但它仍然不起作用,此外还有覆盖我上传的文件的问题,所以每次我上传东西都会覆盖以前的文件,我希望能够上传很多并删除它们,谢谢

<form class="htmlForm">
  <label for="id_payment_proof">{% trans "Payment proof:" %}</label>
  <div class="full-size">
    <div class="input-control full-size file" data-role="input">
      <input id="id_payment_proof" type="file" file-model="payment_proof"/>
      <button class="button"><span class="mif-folder"></span></button>
    </div>
  </div>
  <div ng-if="client_invoice.payment_proof_filename">
    <a ng-href="{{ client_invoice.payment_proof }}"
    ng-bind="client_invoice.payment_proof_filename"
    target="_blank"></a>
    <button class="button" ng_click="clearInvoice()">
      <span class="mif-bin"></span>
    </button>
  </div>
  {% endverbatim %}
</form>

控制器:

editInvoiceHandler = (event, row) ->
$scope.payment_proof = undefined
$scope.htmlFormEl.reset()
$scope.row = row
$scope.client_invoice = row.data()
hasChanges = false
$scope.editMode = true
$scope.$digest()

$scope.clearInvoice() = () ->
$scope.payment_proof = 0

【问题讨论】:

    标签: javascript angularjs coffeescript


    【解决方案1】:

    我没有测试下面的代码,但认为它可能与您需要的相似:

    $scope.payment_proof = []; // presume you don't want any pre-loaded entries
    $scope.add(new_entry) = payment_proof.push(new_entry);
    $scope.delete(index) = payment_proof.splice(index,1);
    $scope.clearInvoice = {  $scope.payment_proof = [];  }
    //Then submit the payment_proof to the back end
    

    我们的想法是操作一个数组(在您的情况下为payment_proof)并将其提交到后端。

    【讨论】:

    • @PetarP clearInvoice是删除payment_proof中所有元素的函数?
    • 试试这个:$scope.clearInvoice = {$scope.payment_proof = [''}]。基本上删除数组payment_proof中的所有元素
    • 不确定这段代码是做什么的'$scope.payment_proof = 0'。在我看来,payment_proof 应该是一个数组而不是一个整数。对吗?
    • 应该的,我正在尝试清除一些不需要的上传文件,但我遇到了问题
    【解决方案2】:

    在您的控制器中:

    $scope.deleteUploadedFile = function () {
      $scope.payment_proof = null 
    }
    

    【讨论】:

      【解决方案3】:

      试试这个

      <button class="button" ng-click="payment_proof = ''"> Delete</button>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-09
        • 1970-01-01
        • 2017-01-17
        • 2016-07-11
        • 1970-01-01
        • 2014-06-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多