Comunidad de diseño web y desarrollo en internet online

mostrar var numerica en flash cargada desde php -novato-

Citar            
MensajeEscrito el 03 Ene 2010 02:08 pm
Hola!
En primer lugar dar las gracias por este inmneso site de información!

Estoy construyendo un formulario con unos checkbox, C1 y C2 . Hay una caja de texto dinámica al lado, que pondría un numero, segun si se apreta el C1 o el C2, o ambos.
Cuando el usuario ha checkeado todos los checks que quiera, aprieta el botón continuar, el cual inicia la funcion de enviar resultados.
Esta funcion, mira los checks seleccionados y los envia al archivo comp.php, el cual devolvería un numero para ese grupo de 2 checks.

Por ejemplo:

Código ActionScript :

function checkseleccionados(){
if ((C1.selected = true) && (C2.selected = true)){//si el primer check y segundo check estan seleccionado
      subtotal1 = "3";
   } 
if ((C1.selected = true) && (C2.selected = false)){//si el 1 check esta seleccionado
      subtotal1 = "1";
   } 
if ((C1.selected = false) && (C2.selected = true)){ //si el check 2 esta seleccionado
       subtotal1 = "2";
   }
if((C1.selected = false) && (C2.selected = false)){ //si el check 1 y check 2 no estan seleccionados
      subtotal1 = "0";
   }
function continuar1(){
var envia_Subtotales:LoadVars = new LoadVars();
var recibe_Subtotales:LoadVars = new LoadVars();
envia_Subtotales.opcion1 = subtotal1;
envia_Subtotales.sendAndLoad("comp.php" , recibe_Subtotales , "POST");
recibe_Subtotales.onLoad = function (SubtotalesCargados){
    if (SubtotalesCargados){
      ST1.text = recibe_Subtotales.SB1;
        } else {
      ST1.text = "Error";
      }
}




Código PHP :

$opcion1 = $_POST["opcion1"];
if($opcion1 == "0") {            /*si no esta seleccionado ni el check1 ni el 2*/
   $SB1 == "0";
   echo $SB1;
   } elseif ($opcion1 == "1") { /*c1 selecionado*/
   $SB1 == "25";
   echo $SB1;
        }elseif ($opcion1 == "2"){ /*c2 selecionado*/
          $SB1 == "25";
   echo $SB1;
   } elseif ($opcion1 == "3") /*c1 y c2 selecionados*/
   $SB1 = "47.5";
   echo $SB1;
   }


Si a la caja de texto dinamica, con nombre ST1 no le doy nombre de variable, muestra un mensaje de error, y me pone error al cargar la url en flash, y si le doy el nombre de variable, en la caja muestra el mensaje "_level0.S".

Segun el check seleccionado, el php le asignaria un valor, a ver si me podeis ayudar. Gracias!

Por JoseBarna

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Ene 2010 12:43 am
No necesitas crear dos LoadVars, hazlo así:

Código ActionScript :

function checkseleccionados(){ 
if ((C1.selected = true) && (C2.selected = true)){//si el primer check y segundo check estan seleccionado 
      subtotal1 = "3"; 
   }  
if ((C1.selected = true) && (C2.selected = false)){//si el 1 check esta seleccionado 
      subtotal1 = "1"; 
   }  
if ((C1.selected = false) && (C2.selected = true)){ //si el check 2 esta seleccionado 
       subtotal1 = "2"; 
   } 
if((C1.selected = false) && (C2.selected = false)){ //si el check 1 y check 2 no estan seleccionados 
      subtotal1 = "0"; 
   } 
function continuar1(){ 
var envia_Subtotales:LoadVars = new LoadVars(); 
envia_Subtotales.opcion1 = subtotal1; 
envia_Subtotales.sendAndLoad("comp.php" , envia_Subtotales , "POST"); 
envia_Subtotales.onLoad = function (SubtotalesCargados){ 
    if (SubtotalesCargados){ 
      ST1.text = this.SB1; 
        } else { 
      ST1.text = "Error"; 
      } 
} 


Por otra parte en tu PHP le estas pasando mal el valor, debes crearlo con variable ("&sb1="):

Código PHP :

$opcion1 = $_POST["opcion1"]; 
if($opcion1 == "0") {            /*si no esta seleccionado ni el check1 ni el 2*/ 
   $SB1 == "0"; 
   echo "&sb1=".$SB1; 
   } elseif ($opcion1 == "1") { /*c1 selecionado*/ 
   $SB1 == "25"; 
   echo "&sb1=".$SB1; 
        }elseif ($opcion1 == "2"){ /*c2 selecionado*/ 
          $SB1 == "25"; 
   echo $SB1; 
   } elseif ($opcion1 == "3") /*c1 y c2 selecionados*/ 
   $SB1 = "47.5"; 
   echo "&sb1=".$SB1; 
   } 


Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 05 Ene 2010 12:59 am
Hola! :wink:
Muchas gracias por la respuesta! He estado todo el día probando y probando y no lo consigo. Me repasaré el código mas detenidamente mañana.
Saludos!

Por JoseBarna

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Ene 2010 11:29 am
Hola!
Me estoy desesperando, incluso he aislado esa parte del formulario y he creado un nuevo archivo, con su php correspondiente, solo 2 checks, con los códigos de arriba, repasando variables, cambiando .text por .string .toString .Number .value .name ....etc... y nada.
En el sendAndLoad, en lugar de post le ponía get y me ponía opcion1 undefined... creo que es un problema al declarar subtotal1 == "1";(o 0,2 y 3)..al pasarlo al php o al recibirlo el php... o al darle el valor luego en el php(25,47.5).
Ya no se si tengo que poner el texto cargado en la instancia de texto dinámico correspondiente, o darle una variable, por ejemplo "suma1" a esa instancia y en la carga cambiar por var suma1:Number = this.SB1; ... he probado de mil maneras y no me sale; he echo otro archivo con una caja de texto dinámica que envía a un php y se carga en otras 2 cajas dinamicas, y funciona perfectamente... por eso creo que estoy cometiendo el típico error de novato con las variables.

Estoy pensando en hacerlo de otra manera, cargando variables, y luego un If C1.selected=true -->sub1 = sub1 + precio1; If C2.selected=true -->sub1 = sub1 + precio1;If C1.selected=true && C2.selected=true -->dto1 = ((precio1*2)*5)/100;<--5 % dto;
If C1.selected=false && C2.selected=false -->sub1 = 0; dto1=0;

Agradecería mucho alguna ayuda, he leído los tutoriales pero no acabo de encontrar el error, incluso, cambiaría código por otro mas "limpio" o que creáis que es mejor.

Por JoseBarna

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Ene 2010 07:48 pm
Hola!
Alguien podría decirme como convertir una variable string en una variable numerica para poder hacer operaciones numericas con ella, he encontrado información para el proceso al contrario pero no para este tipo. Necesito calcular un 5% de descuento, y me aparece todo el rato Nan.
Agradezco de antemano la ayuda. Gracias.

Por JoseBarna

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Ene 2010 02:12 pm
Hola!
Bueno, ya lo tengo, al final he echo todo el formulario como comento 2 posts antes, cargando las variables de nombre y precio desde un php, con esas variables, hacer las operaciones numericas correspondientes, y luego enviarlo a otro php que envia el email al usuario y "dueño" del site.
Como ya sabeis, al cargar desde php, las variables son del tipo string, por lo que se complica a la hora de realizar operaciones numéricas. El método es:

var Numerica:Number = Number(variableString);

En el formulario tenía 10 checkbox repartidos en 5 grupos( 5 checkbox dobles a modo de izquierda y/o derecha), y con una serie de If recorro los grupos, asociandole un precio a cada checkbox, para que luego se sume, y así he conseguido realizarlo.

Sinceramente, dar las gracias al foro por la ayuda, directa o indirecta. ;)

Por JoseBarna

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Ene 2010 02:26 pm
Se me olvidaba... y no se como puedo editar mis posts...

Tambien podemos usar, p.ej.=

total = Number(subtotalString1) + Number(subtotalString2) + Number(subtotalString3) + Number(subtotalString4);

Ahora... a otra cosa, mariposa... jajajajaja ;)

Por JoseBarna

13 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.