【发布时间】:2016-01-25 07:33:17
【问题描述】:
我有一个表单和一个submit 按钮。 disabled 直到所有表单 inputs 都有效。
实际上,当chrome在加载页面时捕获输入值时,就会出现问题。所以,事实上,这些字段不是空的,这意味着表单是有效的,提交按钮应该是enabled。但直到您在页面正文的任何位置至少单击一次。
我认为,在填写表单时看到提交按钮被禁用会对用户产生不好的影响,因此我也在寻找一种通过捕获值来有效表单的方法。
我使用 Plunker 来展示我的代码。虽然,我不能告诉你实际的问题。我的意思是捕获字段中的值,但我们将不胜感激。
<form
ng-class="{true: 'animated'}[LoginAnimate]"
class="form login stylenormal col-xs-12 col-sm-6 col-sm-offset-3 col-md-4 col-md-offset-4"
name="x_form"
action="j_security_check"
method="post"
novalidate
>
<h3>Login</h3>
<fieldset>
<div class="form-group" ng-class="{ 'has-error' : x_form.j_username.$invalid}">
<label>username:</label>
<input
class="form-control"
maxlength="50"
name="j_username"
size="20"
type="text"
autofocus
ng-focus="userfocused = true"
ng-blur="userfocused = false"
ng-model="user.j_username"
required
>
<div data-icon="icon" ng-class="{true: 'input-toggle active', false: 'input-toggle'}[userfocused]" class="">
<i class="fa fa-user"></i>
</div>
</div>
<div class="form-group" ng-class="{ 'has-error' : x_form.j_password.$invalid}">
<label>password:</label>
<input
class="form-control"
maxlength="50"
name="j_password"
size="20"
type="password"
ng-focus="passfocused = true"
ng-blur="passfocused = false"
ng-model="user.j_password"
required
>
<div data-icon="icon" ng-class="{true: 'input-toggle active', false: 'input-toggle'}[passfocused]" class="">
<i class="fa fa-key"></i>
</div>
</div>
<div class="form-group submit-bar" ng-class="{true: 'loaded'}[SubmitLoad]">
<input
class="btn"
type="submit"
ng-disabled="x_form.$invalid"
value="submit"
>
</div>
</fieldset>
</form>
</div>
我`
【问题讨论】:
-
你试过了吗..
ng-init?就像在你的情况下form包括ng-init="user = user || {} "