yang12269366630 2016-07-31 14:02 采纳率: 0%
浏览 1036

AngularJS form 验证不能触发

我为一个系统写一个JS脚本,最后我把值传给input的value,form不能成功submit,我感觉是form验证没有被触发

前台代码:

<form class="ng-pristine ng-invalid ng-invalid-required" advance-on-enter="" autocomplete="off" name="destroyForm" ng-submit="processDestroy()" novalidate="">
<div class="form-group">
<label>Ticket Number</label>
<input class="ng-isolate-scope ng-pristine ng-invalid ng-invalid-required" name="ticket" ng-model="destroyData.ticket" remote-validate="validateTicket" required="" type="text">
<span class="alert alert-error plain ng-hide" ng-show="destroyForm.ticket.$invalid &amp;&amp; destroyData.ticket.length > 0">Invalid Ticket Number</span>
</div>
<div class="form-group">
<label>Destruction Machine Tag</label>
<input class="ng-isolate-scope ng-pristine ng-invalid ng-invalid-required" autofocus="autofocus" name="bin_asset_tag" ng-model="destroyData.bin_asset_tag" remote-validate="validateBin" required="" type="text">
<span class="alert alert-error plain ng-hide" ng-show="destroyForm.bin_asset_tag.$invalid &amp;&amp; destroyData.bin_asset_tag.length > 0">Invalid Asset Tag</span>
</div>
<div class="form-group">
<label>Drive Serial Number</label>
<input class="ng-pristine ng-invalid ng-invalid-required" name="serial_id" ng-model="destroyData.serial_id" required="" type="text">
</div>
<div class="form-horizontal">
<input disabled="disabled" class="btn btn-primary btn-lg" ng-disabled="destroyForm.$invalid" type="submit">
</form>


JS脚本:

 var e = document.createElement('input');
e.type = 'button';
e.value = 'Start';
e.setAttribute('id', 'dbtn');
e.setAttribute('name', 'dbtn');
e.className = 'btn btn-primary btn-lg';
e.onclick = function startdestroy() {
      var serial_text = document.getElementsByName('serial_id')[1];
      //alert(serial_id);
      serial_text.value = “12345”;
      var sbtn=document.getElementsByClassName('btn btn-primary btn-lg') [1];
      sbtn.removeAttribute("disabled");
      //serial_text.removeAttribute("required")
      document.getElementsByClassName('btn btn-primary btn-lg') [1].click();
    }
  });
};
var inputdiv = document.getElementsByClassName('form-horizontal') [1];
inputdiv.appendChild(e);

通过在输入框手动输入和复制粘贴可以验证,直接赋值就不能触发验证,有什么办法让验证呢?

  • 写回答

1条回答 默认 最新

  • yang12269366630 2016-07-31 14:32
    关注

    简单的说,在输入框手输和复制可以触发验证,而采用JS脚本直接为其复制,则不能触发验证。

    评论

报告相同问题?

悬赏问题

  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程