maneljn
4 Sep 2012, 12:33 AM
What i'm doing wrong ?
The form.
// Formulario para subir la foto
xtype: 'form',
name: 'formularioSubirFoto',
title: '',
bodyPadding: 5,
border: false,
anchor: '100%',
items: [{
xtype: 'filefield',
name: 'fotocontacto',
fieldLabel: gt.dgettext('esicontactos','Foto'),
labelWidth: 50,
msgTarget: 'side',
allowBlank: true,
anchor: '100%',
buttonOnly: true,
buttonText: gt.dgettext('esicontactos','Seleccione una imagen...')
}]
The submit action in mvc controller
if (formularioSubirFoto) {
// Comprobar si ha seleccionado alguna imagen
if (formularioSubirFoto.getForm().findField('fotocontacto').getValue().length>0) {
console.log("vamos al submit");
// Ejecutar el submit de este formulario con extdirect
formularioSubirFoto.getForm().submit({
api: {
submit: Ext.esicontactosDirect.esicontactos_contactos.subirFotoContacto
},
params: {
cto_id: cto_id,
cto_guid: cto_guid
},
success: function(form, action) {
console.log("success");
Ext.Msg.alert('Success', action.result.msg);
},
failure: function(form, action) {
console.log("failure");
}
});
}
}
the php code
/**
* Subir la foto de un Contacto
* @remotable
*/
public static function subirFotoContacto( $_parametros)
{
$cto_id = intval(get_magic_quotes_gpc() ? stripslashes($_parametros->cto_id) : $_parametros->cto_id);
$cto_guid = get_magic_quotes_gpc() ? stripslashes($_parametros->cto_guid) : $_parametros->cto_guid;
// Comprobar campos obligatorios
if (!$cto_id>0) {
$respuesta['success'] = false;
$respuesta['errorNum'] = 0;
$respuesta['errorMsg'] = addslashes(dgettext("esicontactos","No se ha recibido el parametro cto_id"));
$respuesta['message'] = $respuesta['errorMsg'];
return $respuesta;
}
if (!strlen($cto_guid)>0) {
$respuesta['success'] = false;
$respuesta['errorNum'] = 0;
$respuesta['errorMsg'] = addslashes(dgettext("esicontactos","No se ha recibido el parametro cto_guid"));
$respuesta['message'] = $respuesta['errorMsg'];
return $respuesta;
}
foreach ($_FILES as $file) {
var_dump($file['tmp_name']);
}
die;
// correcto
$respuesta['success'] = true;
return $respuesta;
}
i don't see any POST in firebug...
The form.
// Formulario para subir la foto
xtype: 'form',
name: 'formularioSubirFoto',
title: '',
bodyPadding: 5,
border: false,
anchor: '100%',
items: [{
xtype: 'filefield',
name: 'fotocontacto',
fieldLabel: gt.dgettext('esicontactos','Foto'),
labelWidth: 50,
msgTarget: 'side',
allowBlank: true,
anchor: '100%',
buttonOnly: true,
buttonText: gt.dgettext('esicontactos','Seleccione una imagen...')
}]
The submit action in mvc controller
if (formularioSubirFoto) {
// Comprobar si ha seleccionado alguna imagen
if (formularioSubirFoto.getForm().findField('fotocontacto').getValue().length>0) {
console.log("vamos al submit");
// Ejecutar el submit de este formulario con extdirect
formularioSubirFoto.getForm().submit({
api: {
submit: Ext.esicontactosDirect.esicontactos_contactos.subirFotoContacto
},
params: {
cto_id: cto_id,
cto_guid: cto_guid
},
success: function(form, action) {
console.log("success");
Ext.Msg.alert('Success', action.result.msg);
},
failure: function(form, action) {
console.log("failure");
}
});
}
}
the php code
/**
* Subir la foto de un Contacto
* @remotable
*/
public static function subirFotoContacto( $_parametros)
{
$cto_id = intval(get_magic_quotes_gpc() ? stripslashes($_parametros->cto_id) : $_parametros->cto_id);
$cto_guid = get_magic_quotes_gpc() ? stripslashes($_parametros->cto_guid) : $_parametros->cto_guid;
// Comprobar campos obligatorios
if (!$cto_id>0) {
$respuesta['success'] = false;
$respuesta['errorNum'] = 0;
$respuesta['errorMsg'] = addslashes(dgettext("esicontactos","No se ha recibido el parametro cto_id"));
$respuesta['message'] = $respuesta['errorMsg'];
return $respuesta;
}
if (!strlen($cto_guid)>0) {
$respuesta['success'] = false;
$respuesta['errorNum'] = 0;
$respuesta['errorMsg'] = addslashes(dgettext("esicontactos","No se ha recibido el parametro cto_guid"));
$respuesta['message'] = $respuesta['errorMsg'];
return $respuesta;
}
foreach ($_FILES as $file) {
var_dump($file['tmp_name']);
}
die;
// correcto
$respuesta['success'] = true;
return $respuesta;
}
i don't see any POST in firebug...