2017-02-25 1 views
0

텍스트 영역 형식의 주석 섹션이 있으며 사용자가 공백을 제외하고 일부 문자를 텍스트 영역에 입력하기 시작하면 다른 버튼을 활성화하려고합니다. 각도 2에서 어떻게 할 수 있습니까?angular2의 공백 이외의 문자를 입력 할 때 버튼을 활성화하십시오.

이미 작동하지만 내 문제는 사용자가 텍스트 영역에 '공백'을 입력해도 버튼이 활성화된다는 것입니다. 이 동작을 수정하여 사용자가 버튼을 사용하도록 설정 한 경우에만 어떻게 할 수 있습니까? HTML에서

:

<textarea id="comments" 
    class="comments-text" 
    [(ngModel)]="text" 
    (ngModelChange)="onAddComment($event)" 
    name="text"></textarea> 

<button [disabled]="EnableButton()"> 

구성 요소 :

public onAddComment(event: string): void { 
    this.passedString = event; 
    } 

public EnableButton(): void { 
    return !!this.passedString; 
} 
+0

코드를 볼 수 있습니까? –

+0

방금 ​​코드를 추가했습니다. 도움을 주셔서 감사합니다. – AlreadyLost

+0

버튼 elem에 대한 코드는 –

답변

0
buttonIsDisabled:boolean=true; 
public onAddComment(event: string): void { 
    this.buttonIsDisabled=true; 
    let passedString = event; 
    if (/\S/.test(passedString)) { 
     // string is not empty and not just whitespace 
     // activate button 
     this.buttonIsDisabled=false; 
    } 
} 

<button [disabled]="buttonIsDisabled">

이 트릭을 할해야합니다. How can I check if string contains characters & whitespace, not just whitespace?

+0

/\ S /는 무엇입니까? – AlreadyLost

+0

정규식입니다 : \ S : "공백 이외의 단일 문자와 일치합니다." https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions – bergben

0

공백 이외의 다른 기호가 포함되어 있으면 textarea 값이 변경 될 때마다 확인할 수 있습니다. Plunker

onAddComment() { 
 
    if (this.text.replace(/\s/g, '').length == 0) { 
 
    this.check = true; 
 
    } else { 
 
    this.check = false; 
 
    } 
 
}
+0

문장이 있고 그 사이에 공백이 있으면 작동하지 않습니다.를 참조하십시오. 모든 문자열이 공백 인 경우에만 비활성화하고 싶습니다. – AlreadyLost

+0

@AlreadyLost 알았습니다. 내용에 공백 만 있으면 비활성화해야합니다. 이제 작동합니다. –

0

enter image description here

트림() 스페이스를 제거하는데 사용될 수있다.

관련 문제