【问题标题】:Trying to reset a form input fiedl to blank after submit提交后尝试将表单输入字段重置为空白
【发布时间】:2019-07-05 00:36:21
【问题描述】:

我有一个带有 angularjs 代码的 php 表单。初始屏幕看起来像 Before submit

一旦用户提交表单,我想清空所有字段,但是下面的代码似乎并没有对字段执行此操作,而是对按钮执行此操作。

after submit

之前 后 表格和代码如下,我尝试空白的电子邮件字段。按钮已更改,所以我知道它会通过 angularjs 代码。

<!-- Contact Section Angularjs -->
<div id="myapp"  ng-controller="contacts_empcontroller">
<div id="contact" class="w3-container w3-padding-16" >
<h3 class="w3-border-bottom w3-border-light-grey w3-padding-16">Contact</h3>
<form id="contact_02" >
<p><h4> If you would like to book an event or conference please contact us.</h4></p>

    <p ng-bind="msg1"></p>
    <input id="name1"   class="w3-input w3-section"    type="text" placeholder="Name"    required name="Name"    value=" "      ng-model="name1">
    <input id="email1"  class="w3-input w3-section"    type="text" placeholder="Email"   required name="Email"   value=""     ng-model="email1">
    <input id="subject1" class="w3-input w3-section"   type="text" placeholder="Subject" required name="Subject" value=""   ng-model="subject1">
    <input id="comment1" class="w3-input w3-section"   type="text" placeholder="Comment" required name="Comment" value=""   ng-model="comment1">
    <input id="token1"   class="w3-input w3-section"   type="hidden" name="token1"       value="<?php echo $token;?>" >
    <button class="w3-button w3-black w3-section" ng-click="postData()" id="buttoncontact" >Send Message</button></p>
</form>
</div>
</div>

Angularjs 代码

  if (data.success == "ip_over_2")
    {

      document.getElementById("buttoncontact").innerHTML = "Duplicate - Thanks";

      document.getElementById("email1").innerHTML = "-";

    }

感谢您的帮助

第二种形式

<div class=" col-sm-4 ">
<div id="myapp"  ng-controller="subscribe_controller">
<h4 style="color:black;" >Subscribe To Newsletter</h4>
<form id="subscribe_01">
<h4>
    <p ng-bind="msg2"></p>
    <input id="email2"   style="color:gray;" type="text" name="EMAIL" placeholder="Your Email Adddress" value="" ng-model="email2" required  ></h4>
    <input id="token2"   class="w3-input w3-section"   type="hidden" name="token2"       value="<?php echo $token;?>" >

    Enter Code: <font size="3" color="blue"><?php echo $captcha_token;?> </font>&nbsp&nbsp

    <input id="captcha"  type="text"  placeholder="Code" name="captcha" value=""  ng-model="captcha" size="10" required>
    <p><p>

    <button class="w3-button w3-black" ng-click="postData_subscribe()" id="buttoncontact_subscribe">Send To Subscribe</button></p>
</form>
</div>

【问题讨论】:

    标签: html angularjs forms


    【解决方案1】:

    而不是document.getElementById("...").innerHTML; 只是这样做:

    $scope.name1 = '';
    $scope.email1 = '';
    $scope.subject1 = '';
    $scope.comment1 = '';
    

    这将使用指定的值更新您的模型 (ng-model="email1"),在本例中为空值(如您指定的目标)。

    【讨论】:

    • 完美!很高兴听到这有帮助。同样只是一般的经验法则,除非您正在编写指令,否则您应该避免进行任何类型的 DOM 操作。让 Angular 为您处理所有 DOM。
    • 另外,如果您不介意接受/赞成答案以表示其已被回答:D
    • 如果我想更新为单独的 angularjs 表单,这将如何工作。
    • 第二种形式是同一个角度控制器的一部分吗?
    • 我会更新答案,太快了,前3分钟没让我做。
    猜你喜欢
    • 1970-01-01
    • 2013-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-24
    相关资源
    最近更新 更多