ext의form 폼 요소에 클릭 감청 이벤트 추가
authform = new Ext.form.FormPanel({
id:'authform',
xtype:'form',
url:fullpath+'/esb/EsbServiceAuthAction!authApply.do' ,
baseCls:"x-plain",
style:"padding:5px",
items:[{
xtype:'textarea',fieldLabel:' ', id:'applyreason',
height:90,anchor:'98%',readOnly:true,style:'background:#E6E6F1;'
},{
xtype: "textfield",fieldLabel: " ",id:'apply_time',
anchor:'98%',readOnly:true,style:'background:#E6E6F1;'
},{
xtype: "textfield",fieldLabel: " ",id:'apply_times',
anchor:'98%',readOnly:true,style:'background:#E6E6F1;'
},{
xtype : 'combo',fieldLabel:' ', id:'reply_times',
store : new Ext.data.SimpleStore({
data: [[' ','1'],[' ','2'],[' ','3'],[' ','4'],[' ','99']],
fields:['text', 'value']
}),
displayField:'text', valueField:'value',
mode : 'local', editable : false,
triggerAction:'all',
anchor:'98%',emptyText:' '
},{
xtype:'textfield',fieldLabel:' IP', id:'apply_ip',
anchor:'98%'
},{
xtype:'textfield',fieldLabel:'SP ', id:'sp_id',
anchor:'98%',readOnly:true,allowBlank:false,emptyText:' ',
listeners:{render:function(p){Ext.getCmp('sp_id').getEl().on('click', setSpID); }}
},{
xtype : 'combo',fieldLabel:' ', id:'apply_status',
store : new Ext.data.SimpleStore({
data: [[' ','agree'],[' ','rejected']],
fields:['text', 'value']
}),
displayField:'text', valueField:'value',
mode : 'local', editable : false,
triggerAction:'all',
anchor:'98%',emptyText:' ',allowBlank:false
}
],
buttons: [{
text: ' ',
type:'button',
id:'login',
handler:function(){textarea
if( authform.getForm().isValid()) {
authform.getForm().submit({
waitTitle:" .....",
waitMsg:" , .....",
failure:function(){
Ext.Msg.alert(' ', ' , !');
authwin.hide();
},
success:function(_form,_action){
Ext.Msg.alert(' ', ' !');
authwin.hide();
store.load({params:{start:0, limit:20}});
}
});
}
}
},{
text: ' ',
type:'button',
id:'clear',
handler: function(){authwin.hide();}
}
]
});
폼 폼에는 textfield,textarea,combo를 포함한 여러 가지 요소가 있습니다. "SP 번호"에 클릭 응답 이벤트를 적습니다. 이 listener는 다음과 같습니다.
listeners:{render:function(p){Ext.getCmp('sp_id').getEl().on('click', setSpID); }}(위 코드 참조), 클릭 시 응답 이벤트는 함수 setSpID입니다. 이 함수는 다음과 같습니다.
function setSpID(){ // (sp )
if(authform.getForm().findField('apply_status').getValue()=='agree'){
Ext.MessageBox.alert(' ',' , SP ');
return;
}
var randNum = new Date().getTime()+""+ Math.floor(Math.random()*100000);
Ext.MessageBox.confirm(' ', ' SP ', function(e){
if(e=='yes') Ext.getCmp('sp_id').setValue(randNum);
});
}
여기서 중요한 것은 이 실행 문장: Ext.getCmp('sp_id')입니다.setValue(randNum);//이렇게 하면 "SP 번호"양식 항목에 무작위 수를 설정할 수 있고 다른 문장은 무시할 수 있습니다.
물론 조금 다른 스타일로 리스너를 써도 된다. 다음과 같다.
listeners:{
'render':function(){
Ext.EventManager.on("sp_id", 'click', function(){
alert("test");
})
}
}
combo로 구성된 감청기는 참고할 수 있습니다.
listeners:{'select':function(){Ext.getCmp('xxxid1').setValue(Ext.getCmp('xxxid1').getValue());}}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
PHP로 만든 오픈 소스 CMS "Pimcore"설치Pimcore는 Zend Framework와 Ext JS 등으로 만들어진 오픈 소스 CMS입니다. 고기능 너무 코피가 나오게 되기 때문에 주의. 아래에서 공식 데모 사이트에 로그인할 수 있습니다. 해외 사이트 때문인...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.