Foros del Web » Programando para Internet » Javascript »

script para un formulario

Estas en el tema de script para un formulario en el foro de Javascript en Foros del Web. Hola amigos. Recientemente he puesto un post en otra seccion (PHP) para un problemon que tengo. Quiero crear un formulario de presupuesto online tipo como ...
  #1 (permalink)  
Antiguo 03/04/2008, 07:56
 
Fecha de Ingreso: mayo-2005
Mensajes: 51
Antigüedad: 19 años, 5 meses
Puntos: 0
script para un formulario

Hola amigos.
Recientemente he puesto un post en otra seccion (PHP) para un problemon que tengo.

Quiero crear un formulario de presupuesto online tipo como tiene PCBOX o APPinformatica.

El tema es que yo controlo un poquito el PHP (muy poco) pero lo suficiente para crearme mis paginas que recogan datos de una base de datos y todo eso.

Me gustaría si alguno de vosotros tiene piedad de un pobre ignorante, como podría hacer que teniendo yo creado un formulario y en el combobox va apareciendo los datos que recoge de la BD a traves de un valor de la tabla llamado nombre, saque el precio en otro campo de texto (teniendo creado en la BD el campo precio).

Os expongo esta duda porque me han dicho que esto es cosa de javascript.

Aver amigicos si me podeis ayudar. Muchas gracias.
  #2 (permalink)  
Antiguo 03/04/2008, 12:38
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Re: script para un formulario

Uff, largo de explicar....

Si solo quieres mostrar el precio, por que no ponerlo en el literal de las opciones del select?

Código PHP:
function llopcions($reg){
     
$txtOpcio$reg["descripcio"]  
          . 
str_repeat(".",58-strlen($reg["descripcio"])
             -
strlen(number_format(str_ireplace(",",".",$reg["pvp"]),2,",",".")))
          . 
number_format(str_ireplace(",",".",$reg["pvp"]),2,",",".");
     
$llops.= "<option value=\"" $reg["idproducte"] . "\">".$txtOpcio ."</option>\n";
    return 
$llops;

donde $reg es un row devuelto por mysql, esto te mostrara la descripcion (en tu caso nombre) del producto y el precio (en mi caso PVP) todo bien formateado con puntitos entre el nombre y el preció (debes usar currier para que quede bien justificado).

Para hacerlo como dices tu necesitas bastante javascript... yo lo hice guardando los datos de todos los productos en un array javascript y con el evento onChange del select llamo una funcion javascript que lee el array y muestra el precio ...

Código PHP:
<?php
function llmatriu($reg){
     
$matriu $matriu "matriuPreus["$reg["idproducte"] ."]=new Array(4);\n"
                  
"matriuPreus["$reg["idproducte"] ."][0]="
                       
$reg["idproducte"] . ";\n"
                  
"matriuPreus["$reg["idproducte"] ."][1]='"
                       
$reg["descripcio"] ."';\n"
                  
"matriuPreus["$reg["idproducte"] ."][2]="
                       
str_ireplace(",",".",$reg["pvp"]) . ";\n"
                  
"matriuPreus["$reg["idproducte"] ."][3]="
                       
str_ireplace(",",".",$reg["tdiva"]) . ";\n";
    return 
$matriu;
}
?>
<select name="item2" tabindex="0" id="item2" onChange="javascirpt:mostrapreu("2")" onMouseWheel=return(false)>

<?php echo "<script type=\"text/javascript\">\n" $matriu"</script>\n";
                echo 
"<option value=\"0\">&nbsp;</option>\n"$llops 
?>
        </select>
Estoy pengando las partes de codigo que creo que te pueden dar pistas...

La idea es que desde php igual que escribes las options del select escribas el javascript que crea la matriz con los datos de los productos, cuando el cliente recibe la pagina interpreta el javascript y ya tenemos la matriz del lado cliente creada y con los datos. Desde onChange del selet llamamos una funcion javascript que lea la matriz y muestre los datos:


Código:
function mostrapreu(item){
   var ops=document.getElementById("item" + item);//<-- selecciona el select
   var index=ops.options[ops.selectedIndex].value;//<--lee el valor seleccionado
   document.getElementById("precio" + item).value=matriuPreus[index][2];
          //Finalmente muestra el precio en el campo con id "precioX" leyendo la
          //columna 2 de la fila "index" que es igual al identificador del producto
}

Bueno no se si te habre liado mas de lo que estabas.... cualquier cosa pregunta, mi codigo original a parte de desordenado hace mas cosas por eso no te lo paso. En el apartado "ORDINADORS" de http://www.iscinformatica.cat

puedes verlo en funcionamiento.


Quim

Última edición por quimfv; 03/04/2008 a las 12:46
  #3 (permalink)  
Antiguo 03/04/2008, 13:10
 
Fecha de Ingreso: mayo-2005
Mensajes: 51
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: script para un formulario

Muchas gracias QUIM. Eres muy amable. Voy a estudiar lo que me has puesto a ver si le saco punta. SI veo que no o tengo dudas vuelvo a postear.
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 18:41.