2014-11-15 4 views
0

안녕하세요. 나는 때때로 메시지 박스를 표시하는 웹 애플리케이션을 만들고있다. 사용자에게 암호를 묻는 메시지 상자가 있는데 그 필드 형식을 암호로 지정합니다. 지금까지 여러 가지 시도를했지만 그 중 아무 것도 작동하지 않는 것으로 보입니다. 텍스트는 점이나 별표가 아닌 일반 텍스트로 표시됩니다.ExtJS 4 - MessageBox 프롬프트에서 입력 필드 유형을 암호로 변경합니다.

var mb = Ext.MessageBox.prompt({ 
    title: 'Enter Override Password.', 
    msg: 'Please Enter the Override Password to Reprint:', 
    password: true, //this does not work 
    width: 300, 
    height: 125, 
    multiline: 1, 
    inputType: 'password', //this does not work 
    value: '', 
    buttons: Ext.MessageBox.YESNO, 
    fn: myCallback, 
    cls: 'msgbox', 
    baseCls: 'msgbox', 
    icon: Ext.MessageBox.WARNING 
}); 
mb.textField.inputType = 'password'; //this does not work 

사람이 암호 형식으로 입력 필드를 지정하는 방법을 알고 있나요 :

여기 내 코드입니까? ExtJS 4.2가 지원하지 않는 것 같습니다. 미리 감사드립니다.

답변

0

나는 이것이 Ext.MessageBox을 위해 설계된 것의 범위를 넘어서게 될 것이라고 생각합니다. 소스 코드를 살펴보면 입력으로 전달 된 유일한 값은 다중 행이 설정된 경우 값과 높이입니다.

대신 할 수있는 것은 Ext.Window을 확장하고 모달을 true로 설정하는 자체 구성 요소를 만드는 것입니다. 이렇게하면 적합하다고 생각되는대로 창을 사용자 정의 할 수 있습니다.

+0

주목할만한. 내가하려고 한 것을 게시 할 것입니다. – Razgriz

1

여기 제가 시도 했으므로 지금까지 효과가있었습니다. 제가 지금 가지고있는 유일한 문제는 스타일을 바꾸는 것입니다. 그것은 또 다른 질문입니다.

var myMsgBox = new Ext.window.MessageBox({ 
    cls: 'msgbox', 
    bodyCls: 'popWindow' 
}); 
myMsgBox.textField.inputType = 'password'; 
myMsgBox.textField.width = 240; 
myMsgBox.textField.center(); 
myMsgBox.prompt(title, msg, myCallback); 
0

대신 Ext.MessageBox.prompt의 버튼을 클릭하면 팝업 Ext.Window을 확장하는 사용자 정의 창을 만드는 시도하고 true로 설정 모달과 중앙에 맞 춥니 다.