Code:
var formAgenda = new Ext.form.FormPanel({
fullscreen: true,
id: 'contact1',
name: 'contact1',
title:'Agenda',
iconCls: 'favorites',
defaults:{
labelWidth: '400px'
},
items: [
{
xtype: 'textfield',
name : 'name',
id : 'name',
label: 'Name',
useClearIcon: true,
placeHolder: 'Debe introducir su nombre', //<-- enter your name
emptyText: 'Debe introducir su nombre',
blankText: 'Debe introducir su nombre'
},
{
xtype: 'textfield',
name : 'appat',
id : 'appat',
useClearIcon: true,
label: 'Apellido paterno' //first name :D
},
{
xtype: 'textfield',
name : 'apmat',
id : 'apmat',
useClearIcon: true,
label: 'Apellido materno' // lastname
},
{
xtype: 'numberfield',
name : 'url',
id : 'url',
useClearIcon: true,
label: 'Telefono' //Phone number
},
{
xtype: 'emailfield',
name : 'email',
id : 'email',
label: 'Email',
placeHolder: 'you@domain.com',
useClearIcon: true
},
{
xtype: 'fieldset',
title: 'Seleccione el tipo de cita', //select date type
items: [{
xtype: 'selectfield',
name: 'options',
id: 'options',
options: [
{text: 'Showroom Df', value: '1'},
{text: 'Showroom Gdl', value: '2'},
{text: 'Visita a domicilio', value: '2'} //home visit
]
}]
},
{
xtype: 'datepickerfield',
name : 'fecha',
id : 'fecha',
label: 'Fecha',
picker: { yearFrom: new Date().getFullYear(), yearTo: new Date().getFullYear() + 2 }
},{
xtype: 'textfield',
name : 'hoora',
id : 'hoora',
label: 'Hora',
disabled: true
},slider,
{
xtype: 'textareafield',
name : 'observaciones',
id : 'observaciones',
labelAlign: 'bottom',
label: 'Observaciones'
},
{
xtype: 'button',
name : 'enviar',
id : 'enviar',
text: 'Enviar',
ui: 'action',
handler: caller2,
}
],
listeners : {
submit : function(form, result){
alert('inside submit'); //<-- never enters here
},
exception : function(form, result){ //<-- always enters here
Ext.Msg.alert('Status', 'exception.' + result.responseText);
console.log('failure', Ext.toArray(arguments));
}
}
});
here's my "caller2" code
Code:
var caller2= function(){
formAgenda.submit({
url : externalProject path'+'/guardaAgendaCita.action,
scope: formAgendacitas,
success: function(r, o){
var obj = Ext.decode(r.responseText);
console.dir(obj);
if (obj.success === 'true') {
// Do something...
Ext.Msg.alert('Status', 'Success:' + result.responseText);
}
else {
// Do something else...
Ext.Msg.alert('Status', 'Failue:' + result.responseText);
}
},callback:function(callbackOptions, success, response) {
//this.hideMask();
var obj = Ext.decode(response.responseText);
console.dir(obj);
if (success) {
response = Ext.decode(response.responseText);
success = !!response.success;
if (success) {
if (typeof options.success == 'function') {
Ext.Msg.alert('Status', 'Success:' + result.responseText);
}
}
}else{
if (obj.success === 'true') {
// Do something...
Ext.Msg.alert('Status', 'Success:' + result.responseText);
}
else {
// Do something else...
Ext.Msg.alert('Status', 'Failue:' + result.responseText);
}
}
}
});
};
never enters here I don't know why
Code:
var llamada = function(){
var realizaEnvioAjax = new Ext.data.Connection({ });
realizaEnvioAjax.request({
url: "./fake.jsp", //here's just a <script type="text/javascript">document.writeln('{success:true}');</script>
success: function(form, result){
//var respuestaServer = Ext.util.JSON.decode(result.responseText);
alert('sucess; '+ result.responseText);
formAgenda.submit({
url: 'externalProject path'+'/guardaAgendaCita.action',
method:'post',
scope:this,
waitMsg : {message:'Submitting', cls : 'demos-loading'},
success: function(form, result){
alert('sucess; '+ result.responseText);
},
failure: function(form, result){
alert('failure; '+ result.responseText);
}
});
},
failure: function(form, result){
alert('failure; '+ result.responseText);
}
});
};
Is not working for me the "code" button sorry for that, it's easier to use EXTjS 3 for this submit but i just cannot make this works as it should, I've been stocked here for a coupple of days, I hope you could help me.