2017-12-09 18 views
1

無効にして、 テキストボックスにテキストを入力しないと無効になりますが、コードが機能しないため、ページの読み込み時に送信ボタンを無効にします。ソリューションを提供してください。

<div id="reg_bground">   
    <div id="formdiv" ng-app="myApp" ng-controller="valCtrl"> 
     <form name="myForm" novalidate> 
      <div style="font-family:calibri; font-size:30px; font-weight:bolder;"> 
       <span>Register:</span> 
      </div> 
      <div> 
       <span>Name:</span><br> 
       <input type="text" name="user" ng-model="user" required><br> 
       <p ng-show="myForm.user.$dirty && myForm.user.$invalid">*Please insert the name</p> 
      </div> 
      <input type="number"> 
      <input type="submit" ng-disabled="myForm.user.$dirty && myForm.user.$invalid"> 
     </form> 
    </div> 
</div>    

+0

あなたはそれが動作していないどのように明確に伝える必要があります。 – zezollo

答えて

0

あなたが入力し、入力があなたのパターンと一致しない入力すると、フィールドの内容は$

有効無効の作業です。 あなたの目標には$ error.requiredを使用する必要があります。

あなたは、本質的に禁止状態のための送信ボタンで$dirty状態をチェックし

<div id="reg_bground"> 
    <div id="formdiv" ng-app="myApp" ng-controller="valCtrl"> 
      <form name="myForm" novalidate> 
       <div style="font-family:calibri; font-size:30px; font- 
     weight:bolder;"> 
        <span>Register:</span> 
       </div> 
       <div> 
        <span>Name:</span><br> 
        <input type="text" name="user" ng-model="user" required><br> 
        <p ng-show="myForm.user.$dirty && 
     myForm.user.$error.required">*Please insert the name</p> 
       </div> 
       <input type="number"> 
       <input type="submit" ng-disabled="myForm.user.$dirty && 
    myForm.user.$error.required"> 
      </form> 
     </div> 
1

に動作しますfollwing。ユーザがページ負荷に当てはまらないmyForm.user入力とmeddledたとき

<input type="submit" ng-disabled="myForm.user.$dirty && myForm.user.$invalid"> 

$dirtytrueのみに設定されています。その代わり、$pristine状態(または!$dirty)をチェックしてみてください

<input type="submit" ng-disabled="myForm.user.$pristine || myForm.user.$invalid"> 
1

submitボタンで汚れのチェックを削除します。

<input type="submit" ng-disabled=" ̶m̶y̶F̶o̶r̶m̶.̶u̶s̶e̶r̶.̶$̶d̶i̶r̶t̶y̶ ̶&̶&̶ ̶ myForm.user.$invalid"> 
関連する問題