Foros del Web » Creando para Internet » Flash y Actionscript »

control de errores en formulario flash

Estas en el tema de control de errores en formulario flash en el foro de Flash y Actionscript en Foros del Web. Esto es un formulario en flash, que recoge varios campos y un campo para subir archivos, y me gustaría que no enviase nada si los ...
  #1 (permalink)  
Antiguo 28/05/2010, 04:47
Avatar de dengaku  
Fecha de Ingreso: enero-2010
Mensajes: 69
Antigüedad: 14 años, 3 meses
Puntos: 1
control de errores en formulario flash

Esto es un formulario en flash, que recoge varios campos y un campo para subir archivos, y me gustaría que no enviase nada si los demás campos están vacíos o no son números, vamos validar los campos según las necesidades del formulario, en php si se hacerlo, pero en as3 no, si conocéis algún ejemplo adaptable o podéis indicarme como hacerlo lo agradecería.

Código actionscript:
Ver original
  1. import flash.net.*;
  2.  
  3. //ENVIAR DATOS
  4. var php:String = "subir.php";
  5. var req:URLRequest = new URLRequest(php);
  6. var vars:URLVariables = new URLVariables();
  7. req.method = URLRequestMethod.POST;
  8. req.data = vars;
  9.  
  10. /*function alClick(e:MouseEvent):void{
  11.     vars.numflash = enviar_mc.numero.text;
  12.     vars.tiempoflash = enviar_mc.tiempo.text;
  13.     vars.passflash = enviar_mc.pass.text;
  14.     sendToURL(req);
  15.     //navigateToURL(req);
  16.     //loader.load(req);
  17.     URLLoader("admindescarga.php");
  18. }*/
  19. // enviar_mc.enviar_btn.addEventListener(MouseEvent.CLICK, alClick);
  20.  
  21. //Clases necesarias
  22. import flash.events.*;
  23. import flash.net.FileFilter;
  24. import flash.net.FileReference;
  25. import flash.net.URLRequest;
  26.  
  27. //Dirección del PHP que va a subir el archivo
  28. var uploadURL:URLRequest;
  29. var archivo:FileReference;
  30.  
  31. //RECIBIR DATOS //pruebas
  32. var php2:String = "recibir.php";
  33. var req2:URLRequest = new URLRequest(php2);
  34. var loader:URLLoader = new URLLoader();
  35. loader.dataFormat = URLLoaderDataFormat.VARIABLES;
  36. loader.load(req2);
  37.  
  38. function alCompletar(e:Event):void{
  39.     cod_usu.text = "" + e.target.data["cod"];
  40. }
  41. loader.addEventListener(Event.COMPLETE, alCompletar);
  42.  
  43. //Función llamada al pulsar examinar, se crea el filereference y se abre el navegador de archivos
  44. function Examinar(event:MouseEvent) {
  45.     vars.numflash = enviar_mc.numero.text;
  46.     vars.tiempoflash = enviar_mc.tiempo.text;
  47.     vars.passflash = enviar_mc.pass.text;
  48.     vars.codflash = cod_usu.text;
  49.     //sendToURL(req);
  50.     //navigateToURL(req);
  51.     //loader.load(req);
  52.     Estado_txt.appendText("\n" + "Vamos a seleccionar el archivo.");
  53.     uploadURL = new URLRequest();  
  54.     uploadURL.url = "subir.php";
  55.     archivo = new FileReference();
  56.     PonerListeners(archivo);
  57.     archivo.browse(getTypes());
  58. }
  59.  
  60. //Añado los listener al objeto filereference
  61. function PonerListeners(dispatcher:IEventDispatcher) {
  62.     dispatcher.addEventListener(Event.CANCEL, cancelHandler);
  63.     dispatcher.addEventListener(Event.COMPLETE, completeHandler);
  64.     dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
  65.     dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
  66.     dispatcher.addEventListener(Event.OPEN, openHandler);
  67.     dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
  68.     dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
  69.     dispatcher.addEventListener(Event.SELECT, selectHandler);
  70.     dispatcher.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,uploadCompleteDataHandler);
  71. }
  72.  
  73. //Con está función se generan los tipos de archivos que estarán disponibles para seleccionar desde el navegador
  74. function getTypes():Array {
  75.     var allTypes:Array = new Array();
  76.     return allTypes;
  77. }
  78.  
  79. //Tipos de imágenes admitidos, tanto para pc como para mac
  80. /*function getImageTypeFilter():FileFilter {
  81.     return new FileFilter("All (*.jpg, *.jpeg, *.gif, *.png)","*.jpg;*.jpeg;*.gif;*.png");
  82. }*/
  83.  
  84. //Tipos de archivos de texto admitidos, para pc y mac
  85. /*function getTextTypeFilter():FileFilter {
  86.     return new FileFilter("Text Files (*.txt, *.rtf)","*.txt;*.rtf");
  87. }*/
  88.  
  89.  
  90. //Se distribuye cuando se cancela la descarga desde el navegador de archivos.
  91. function cancelHandler(event:Event):void {
  92.     Estado_txt.appendText("\n" + "Subida cancelada.");
  93. }
  94.  
  95. //Se distribuye cuando se finaliza la descarga o la carga
  96. function completeHandler(event:Event):void {
  97.     Estado_txt.appendText("\n" + "Subida completada.");
  98. }
  99.  
  100. //Se reciben datos del servidor tras completar la carga
  101. function uploadCompleteDataHandler(event:Event):void {
  102.     Estado_txt.appendText("\n" + "Subida confirmada por el servidor.");
  103. }
  104.  
  105. //Se produce cuando falla la carga y hay un código http de error.
  106. //Por ejemplo si no se encuentra el PHP, se generará un error 404.
  107. function httpStatusHandler(event:HTTPStatusEvent):void {
  108.     Estado_txt.appendText("\n" + "Se ha producido el siguiente error: " + event.status);
  109. }
  110.  
  111. //Se produce cuando falla la carga o descarga
  112. function ioErrorHandler(event:IOErrorEvent):void {
  113.     Estado_txt.appendText("\n" + event.text);
  114. }
  115.  
  116. //Se inicia la carga o descarga
  117. function openHandler(event:Event):void {
  118.     Estado_txt.appendText("\nComienza la subida\n");
  119. }
  120.  
  121. //Se distribuye periodicamente durante la carga o la descarga, mostrando el progreso de la misma.
  122. function progressHandler(event:ProgressEvent):void {
  123.     Estado_txt.text = "";
  124.     var file:FileReference = FileReference(event.target);
  125.     Estado_txt.appendText("" + event.bytesLoaded + " bytes de " + event.bytesTotal + " bytes subidos.");
  126. }
  127.  
  128. //Se distribuye al intentar descargar o cargar un archivo de un servidor fuera del entorno de seguridad de la película
  129. function securityErrorHandler(event:SecurityErrorEvent):void {
  130.     Estado_txt.appendText("\nEl servidor no permitió la carga del archivo.");
  131. }
  132.  
  133. //Se distribuye al elegir el archivo para carga o descarga desde el navegador de archivos.
  134. function selectHandler(event:Event):void {
  135.     Estado_txt.text = "";
  136.     var archivo:FileReference = FileReference(event.target);
  137.     Estado_txt.text = "\n" + "Archivo elegido: " + archivo.name + "\n" + "Tamaño = " + archivo.size + " bytes.";
  138.     archivo.upload(req);
  139. }
  140.  
  141. Examinar_bt.addEventListener(MouseEvent.CLICK,Examinar);

En fin este es el formulario
  #2 (permalink)  
Antiguo 29/05/2010, 22:09
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: control de errores en formulario flash

Imagino que se quiere validar en Examinar e imagino también que las vars deben tener valor para hacer o no el upload, por ende

Código actionscript:
Ver original
  1. //Función llamada al pulsar examinar, se crea el filereference y se abre el navegador de archivos
  2.  
  3. function Examinar(event:MouseEvent) {
  4.     vars.numflash = enviar_mc.numero.text;
  5.     vars.tiempoflash = enviar_mc.tiempo.text;
  6.     vars.passflash = enviar_mc.pass.text;
  7.     vars.codflash = cod_usu.text;
  8.  
  9.     //Tantos ands u or como se quiera, como en php
  10.  
  11.     if(vars.numflash != '' && vars.tiempoflash != ''){
  12.     //sendToURL(req);
  13.     //navigateToURL(req);
  14.     //loader.load(req);
  15.     Estado_txt.appendText("\n" + "Vamos a seleccionar el archivo.");
  16.     uploadURL = new URLRequest();  
  17.     uploadURL.url = "subir.php";
  18.     archivo = new FileReference();
  19.     PonerListeners(archivo);
  20.     archivo.browse(getTypes());
  21.     }
  22.     else
  23.     {
  24.         Estado_txt.appendText("\n" + "Faltan campos por diligenciar.");
  25.     }
  26.  
  27.  
  28. }

Y si no es allí, poner el if en la ubicación deseada

En fin, esa es la idea

Etiquetas: control, flash, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:14.