Javascript AngularJS-首次加载页面时,如何设置ng disabled指令的真值?
我用AngularJS进行了验证:Javascript AngularJS-首次加载页面时,如何设置ng disabled指令的真值?,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我用AngularJS进行了验证: <form ng-app="myApp" ng-controller="validateCtrl as validate" name="myForm" action="sendEmail" novalidate> <div class="form-group"> <input type="email" name="email"
<form ng-app="myApp" ng-controller="validateCtrl as validate" name="myForm" action="sendEmail" novalidate>
<div class="form-group">
<input type="email" name="email" class="form-control" ng-model="validate.email" placeholder="Email" required>
<span style="color:yellow" ng-show="myForm.email.$dirty && myForm.email.$invalid">
<span ng-show="myForm.email.$error.required">Email is required.</span>
<span ng-show="myForm.email.$error.email">Invalid email address.</span>
</span>
</div>
<div class="form-group">
<input type="text" name="subject" class="form-control" ng-model="validate.subject" placeholder="Subject" required>
<span style="color:yellow" ng-show="myForm.subject.$dirty && myForm.subject.$invalid">
<span ng-show="myForm.subject.$error.required">Subject is required.</span>
</span>
</div>
<div class="form-group">
<textarea type="text" name="message" class="form-control" ng-model="validate.message" placeholder="Message..." required></textarea>
<span style="color:yellow" ng-show="myForm.message.$dirty && myForm.message.$invalid">
<span ng-show="myForm.message.$error.required">Message is required.</span>
</span>
</div>
<button type="submit" class="btn btn-lg btn-success"
ng-disabled="myForm.email.$dirty && myForm.email.$invalid ||
myForm.subject.$dirty && myForm.subject.$invalid ||
myForm.message.$dirty && myForm.message.$invalid"></button>
</form>
电子邮件是必需的。
无效的电子邮件地址。
主题是必修的。
消息是必需的。
在电子邮件、主题和消息不正确之前,该按钮处于禁用状态。好的,很好。但这是真的,只要我已经与表单交互过
事实上,当第一次加载页面时,我还没有与表单交互,按钮就被启用了。所以,如果我点击它,我可以发送一封电子邮件!我希望当页面被加载时,按钮被禁用,当我填充字段时,按钮被启用
我该怎么做
谢谢。您的第一个条件可以被禁用
ng=“myForm.email.$invalid
删除”myForm.email.$dirty
您的第一个条件可以被禁用ng=“myForm.email.$invalid
删除myForm.email.$dirty
您的第一个条件可以被禁用ng=“myForm.email.$invalid
。删除myForm.email.$dirty您可以禁用第一个条件ng=“myForm.email.$invalid
。删除myForm.email.$dirty像这样尝试
<form name="postForm" method="POST" novalidate>
<div class="col-md-8">
<div class="col-md-12">
<div class="col-md-12"><legend>Submit New Post</legend></div>
</div>
<div class="col-md-12 form-group">
<div class="col-md-12" ng-class="{ 'has-error' : postForm.title.$invalid && !postForm.title.$pristine }">
<input type="text" placeholder="Write Title" class="form-control" name="title" ng-model="post.title" required>
<p ng-show="postForm.title.$invalid && !postForm.title.$pristine" class="text-danger">* Write Post Title</p>
</div>
</div>
<div class="col-md-12 form-group">
<div class="col-md-12" ng-class="{ 'has-error' : postForm.url.$invalid && !postForm.url.$pristine }">
<input type="url" placeholder="Write URL" class="form-control" name="url" ng-model="post.url" >
<p ng-show="postForm.url.$invalid && !postForm.url.$pristine" class="text-danger">* Write URL in http:// or https:// Format</p>
</div>
</div>
<div class="col-md-12">
<div class="col-md-12" >
<p class="text-danger">{{msg}}</p>
</div>
</div>
<div class="col-md-12 form-group">
<div class="col-md-12"><button type="submit" class="btn btn-info" ng-disabled="postForm.$invalid" ng-click="submitForm(....)">Submit</button>
<img src="img/loading.gif" ng-show="loading" /></div>
</div>
</div>
</form>
提交新职位
*写文章标题
*以http://或https://格式编写url
{{msg}
提交
像这样试试
<form name="postForm" method="POST" novalidate>
<div class="col-md-8">
<div class="col-md-12">
<div class="col-md-12"><legend>Submit New Post</legend></div>
</div>
<div class="col-md-12 form-group">
<div class="col-md-12" ng-class="{ 'has-error' : postForm.title.$invalid && !postForm.title.$pristine }">
<input type="text" placeholder="Write Title" class="form-control" name="title" ng-model="post.title" required>
<p ng-show="postForm.title.$invalid && !postForm.title.$pristine" class="text-danger">* Write Post Title</p>
</div>
</div>
<div class="col-md-12 form-group">
<div class="col-md-12" ng-class="{ 'has-error' : postForm.url.$invalid && !postForm.url.$pristine }">
<input type="url" placeholder="Write URL" class="form-control" name="url" ng-model="post.url" >
<p ng-show="postForm.url.$invalid && !postForm.url.$pristine" class="text-danger">* Write URL in http:// or https:// Format</p>
</div>
</div>
<div class="col-md-12">
<div class="col-md-12" >
<p class="text-danger">{{msg}}</p>
</div>
</div>
<div class="col-md-12 form-group">
<div class="col-md-12"><button type="submit" class="btn btn-info" ng-disabled="postForm.$invalid" ng-click="submitForm(....)">Submit</button>
<img src="img/loading.gif" ng-show="loading" /></div>
</div>
</div>
</form>
提交新职位
*写文章标题
*以http://或https://格式编写url
{{msg}
提交
像这样试试
<form name="postForm" method="POST" novalidate>
<div class="col-md-8">
<div class="col-md-12">
<div class="col-md-12"><legend>Submit New Post</legend></div>
</div>
<div class="col-md-12 form-group">
<div class="col-md-12" ng-class="{ 'has-error' : postForm.title.$invalid && !postForm.title.$pristine }">
<input type="text" placeholder="Write Title" class="form-control" name="title" ng-model="post.title" required>
<p ng-show="postForm.title.$invalid && !postForm.title.$pristine" class="text-danger">* Write Post Title</p>
</div>
</div>
<div class="col-md-12 form-group">
<div class="col-md-12" ng-class="{ 'has-error' : postForm.url.$invalid && !postForm.url.$pristine }">
<input type="url" placeholder="Write URL" class="form-control" name="url" ng-model="post.url" >
<p ng-show="postForm.url.$invalid && !postForm.url.$pristine" class="text-danger">* Write URL in http:// or https:// Format</p>
</div>
</div>
<div class="col-md-12">
<div class="col-md-12" >
<p class="text-danger">{{msg}}</p>
</div>
</div>
<div class="col-md-12 form-group">
<div class="col-md-12"><button type="submit" class="btn btn-info" ng-disabled="postForm.$invalid" ng-click="submitForm(....)">Submit</button>
<img src="img/loading.gif" ng-show="loading" /></div>
</div>
</div>
</form>
提交新职位
*写文章标题
*以http://或https://格式编写url
{{msg}
提交
像这样试试
<form name="postForm" method="POST" novalidate>
<div class="col-md-8">
<div class="col-md-12">
<div class="col-md-12"><legend>Submit New Post</legend></div>
</div>
<div class="col-md-12 form-group">
<div class="col-md-12" ng-class="{ 'has-error' : postForm.title.$invalid && !postForm.title.$pristine }">
<input type="text" placeholder="Write Title" class="form-control" name="title" ng-model="post.title" required>
<p ng-show="postForm.title.$invalid && !postForm.title.$pristine" class="text-danger">* Write Post Title</p>
</div>
</div>
<div class="col-md-12 form-group">
<div class="col-md-12" ng-class="{ 'has-error' : postForm.url.$invalid && !postForm.url.$pristine }">
<input type="url" placeholder="Write URL" class="form-control" name="url" ng-model="post.url" >
<p ng-show="postForm.url.$invalid && !postForm.url.$pristine" class="text-danger">* Write URL in http:// or https:// Format</p>
</div>
</div>
<div class="col-md-12">
<div class="col-md-12" >
<p class="text-danger">{{msg}}</p>
</div>
</div>
<div class="col-md-12 form-group">
<div class="col-md-12"><button type="submit" class="btn btn-info" ng-disabled="postForm.$invalid" ng-click="submitForm(....)">Submit</button>
<img src="img/loading.gif" ng-show="loading" /></div>
</div>
</div>
</form>
提交新职位
*写文章标题
*以http://或https://格式编写url
{{msg}
提交
在“提交”按钮上,将禁用的ng修改为:
ng-disabled="myForm.$invalid || myForm.$pristine">
在这种情况下,您不必单独验证所有输入。只需测试您的表单是否无效,或者用户是否从未与表单交互
AngularJS中的表单有两种不同的状态:原始状态和脏状态。原始状态表示从未接触过您的表单。脏状态则相反。当用户将任何值设置为您的输入之一时,角度会将表单的状态从原始状态更改为脏状态
我想这是为了阅读您提交按钮上angular中的表单,将ng disabled修改为:
ng-disabled="myForm.$invalid || myForm.$pristine">
在这种情况下,您不必单独验证所有输入。只需测试您的表单是否无效,或者用户是否从未与表单交互
AngularJS中的表单有两种不同的状态:原始状态和脏状态。原始状态表示从未接触过您的表单。脏状态则相反。当用户将任何值设置为您的输入之一时,角度会将表单的状态从原始状态更改为脏状态
我想这是为了阅读您提交按钮上angular中的表单,将ng disabled修改为:
ng-disabled="myForm.$invalid || myForm.$pristine">
在这种情况下,您不必单独验证所有输入。只需测试您的表单是否无效,或者用户是否从未与表单交互
AngularJS中的表单有两种不同的状态:原始状态和脏状态。原始状态表示从未接触过您的表单。脏状态则相反。当用户将任何值设置为您的输入之一时