Foros del Web » Programando para Internet » Javascript »

Solo diganme si es posible o no lograr estos estilos en mi Formulario

Estas en el tema de Solo diganme si es posible o no lograr estos estilos en mi Formulario en el foro de Javascript en Foros del Web. Hola! Tengo una simple calculadora o convertidora de medidas, de longitud y/o de peso. Funciona bien, pero queria aplicarle unos estilos, para que se vea ...
  #1 (permalink)  
Antiguo 03/06/2011, 12:59
 
Fecha de Ingreso: junio-2011
Mensajes: 3
Antigüedad: 12 años, 10 meses
Puntos: 0
Solo diganme si es posible o no lograr estos estilos en mi Formulario

Hola!

Tengo una simple calculadora o convertidora de medidas, de longitud y/o de peso. Funciona bien, pero queria aplicarle unos estilos, para que se vea bonita, y de hecho se ve muy bien usando Pretty Forms ([URL="http://www.agavegroup.com/agWork/prettyForms/"]ver aqui[/URL]).

Problema: Tan pronto cargo prettyforms.js
Código:
$(document).ready(function() {
    	prettyForms()
});
el estilo cambia, pero la funcionalidad de conversion de medidas se va.

Usando Firebug veo el siguiente error:
Código:
"U2 is not defined"
"if ( U2.options[U2.selectedInd...tedIndex > -1 && isnum(V1.value) ) { "
Solo quiero que lo vean y me digan si es que no es posible que coexistan, mis conversiones y prettyforms.

Gracias!


Mi pagina con las conversiones:
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Conversiones</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<link rel="stylesheet" href="herr/prettyforms/prettyForms.css" type="text/css" media="screen" />
<script type="text/javascript" src="herr/js/cargaprettyforms.js"></script>
<script type="text/javascript" src="herr/prettyforms/prettyForms.js"></script>

</head>
<body>

<SCRIPT language=Javascript>

<!--

function calculate(obj, inform) {

nfig = parseInt(document.getElementById('precision').value);

nfig=(nfig==0)?6:nfig;



    with (inform) {

        if ( U2.options[U2.selectedIndex].value != 0 && U1.selectedIndex > -1 && isnum(V1.value) ) {

            V2.value=roundfig(eval(V1.value) * eval(U1.options[U1.selectedIndex].value)

                    /eval(U2.options[U2.selectedIndex].value),nfig);

					}

        }

}


function isnum(num) {

return (!isNaN(num));

if ( num == 0 ) {

        return true;

    }

    if ( num == "" ) {

        return false;

    }

    for (var i=0; i < num.length; i++) {

       var ch= num.substring (i, i+1)

       if ((ch < "0" || ch > "9" ) && ch != "." && (i>1 && ch =="-") ) {

       

       	            return false;

       }

    }

    return true;

}


function roundfig(num,nfig) {

if(isnum(num)) {

ndp = parseInt(-1 * Math.log(num)/Math.log(10));

ans = Math.round(num * Math.pow(10,ndp+nfig))/Math.pow(10,ndp+nfig);

return ans;

}

}

</SCRIPT>
	
  <TABLE width="430" BORDER=0 align="center">
  <TR>
  
  <form name=lengthconv>
    
  <TD width="200" valign="top"><p><B>Conversion de Medidas</B> (Ingrese la medida)<BR>
    
    <input Width=20 name=V1 onChange="calculate(this,document.lengthconv)">
    
    <select Width=60 onChange="calculate(this,document.lengthconv)" name=U1>
      
      		<option value=304.8>piés
          
          	<option value=25.4>pulgadas
            
            <option value=1000000>Kilometros
              
            <option value=1000>metros
                
            <option value=10>centimetros
                  
            <option value=1>milimetros
                    
                    
          </select>
  </p>
    <p>&nbsp; </p></TD><TD width="30">=></TD><TD width="200" valign="top">
    
    <p><b>Conversion de Medidas</b> (Respuesta)<BR>
      
      <input Width=20 name=V2 READONLY onChange="calculate(this,document.lengthconv)">
      
      <select Width=60 onChange="calculate(this,document.lengthconv)" name=U2>
        
        	<option value=304.8>piés
            
            <option value=25.4>Pulgadas
              
            <option value=1000000>Kilometros
                
            <option value=1000>Metros
                  
            <option value=10>Centimetros
                    
            <option value=1>Milimetros
                      
                      
                      
          </select>
      </p>
    </p>
    <p><br />
    </p></TD>
    
  </form>
  
  </TR>
  
  
  
    <TR>
      <TD colspan="3"><hr /><br /></TD>
    </TR>
    <TR><form name=weightconv>
    
    <TD valign="top"><B>Conversión de Peso<br />
    </B> (Ingrese el peso)<BR>
      
      <input Width=20 name=V1 onChange="calculate(this,document.weightconv)">
      
      <select Width=60 onChange="calculate(this,document.weightconv)" name=U1>
        
        <option value=1016064>ton
          
          <option value=50803.2>cwt
            
          <option value=907200>US ton
              
          <option value=12700.8>quarters
                
          <option value=6350.293189>stone
                  
          <option value=453.59237063889>lb.
                    
          <option value=28.349523165>oz.
                      
          <option value=1.77184375>drams
                        
          <option value=0.0648>grains
                          
          <option value=1000000>tonne
                            
          <option value=1000>kg
                              
          <option value=1>g
                                
          <option value=0.001>mg
                                  
        </select>
      
      </TD><TD> => </TD><TD valign="top">
        
        <b>Conversión de Peso<br />
        </b> (Ingrese el peso)<BR>
          
          <input Width=20 name=V2 READONLY onChange="calculate(this,document.weightconv)">
          
          <select Width=60 onChange="calculate(this,document.weightconv)" name=U2>
            
            <option value=1016064>ton
              
            <option value=50803.2>cwt
                
            <option value=907200>US ton
                  
            <option value=12700.8>quarters
                    
            <option value=6350.293189>stone
                      
            <option value=453.59237063889>lb.
                        
            <option value=28.349523165>oz.
                          
            <option value=1.77184375>drams
                            
            <option value=0.0648>grains
                              
            <option value=1000000>tonne
                                
            <option value=1000>kg
                                  
            <option value=1>g
                                    
            <option value=0.001>mg
                                      
          </select>
        </p></TD>
    
    </form>
    
  </TR>
  
  <tr><td colspan=4><input type=hidden size=2 id="precision" value=6 onChange="this.value=Math.abs(parseInt(this.value));"></td></tr>
  
</TABLE>
  #2 (permalink)  
Antiguo 03/06/2011, 13:21
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Solo diganme si es posible o no lograr estos estilos en mi Formulario

Debes comprender cuál es el error:
"U2 is not defined"
"if ( U2.options[U2.selectedInd...tedIndex > -1 && isnum(V1.value) ) { "

firebug te dice que U2 no está definida... ¿qué es? ¿una variable? ¿un elemento en tu html? por la forma, imagino que es un combo, en tal caso, primero debes hacer que U2 apunte a tu combo.

Si tu combo tiene la id "U2", entonces con hacer:
var U2=document.getElementById('U2');

antes del
if ( U2.options[U2.selectedIndex].value != 0 && U1.selectedIndex > -1 && isnum(V1.value) ) {
.
.
.
imagino que debería funcionar.
  #3 (permalink)  
Antiguo 03/06/2011, 13:39
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Solo diganme si es posible o no lograr estos estilos en mi Formulario

Cita:
Solo diganme si es posible o no lograr estos estilos en mi Formulario
Es posible.
  #4 (permalink)  
Antiguo 03/06/2011, 13:55
 
Fecha de Ingreso: junio-2011
Mensajes: 3
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Solo diganme si es posible o no lograr estos estilos en mi Formulario

Gracias ocp001a !

No funciono. En cuanto a tus preguntas:

>un elemento en tu html?
Si, el select aparece asi:
Código:
<select Width=60 onChange="calculate(this,document.lengthconv)" name=U2>

Insertando
Código:
var U2=document.getElementById('U2');
el error cambio a:
Código:
U2 is null
if ( U2.options[U2.selectedIndex].value != 0 && U1.selectedIndex > -1 && isnum(V1.value) ) {


Asi luce la funcion insertando la variable que me diste:

Código:
function calculate(obj, inform) {
nfig = parseInt(document.getElementById('precision').value);

nfig=(nfig==0)?6:nfig;



    with (inform) {
	var U2=document.getElementById('U2');
        if ( U2.options[U2.selectedIndex].value != 0 && U1.selectedIndex > -1 && isnum(V1.value) ) {

            V2.value=roundfig(eval(V1.value) * eval(U1.options[U1.selectedIndex].value)

                    /eval(U2.options[U2.selectedIndex].value),nfig);

					}

        }

}
  #5 (permalink)  
Antiguo 03/06/2011, 14:22
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Solo diganme si es posible o no lograr estos estilos en mi Formulario

Debes saber que los elementos no solo se les puede nombrar, además se les puede identificar por una id:
<select Width=60 onChange="calculate(this,document.lengthconv)" name="U2">
<select Width=60 onChange="calculate(this,document.lengthconv)" name="U2" id="U2">
Por esto no funcionó, asumí que tendrías identificados tus elementos, pero sólo los tenías nombrados.
por cierto, no es correcto asignar nombres o identificadores a elementos sin usar comillas.
  #6 (permalink)  
Antiguo 03/06/2011, 19:15
 
Fecha de Ingreso: junio-2011
Mensajes: 3
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Solo diganme si es posible o no lograr estos estilos en mi Formulario

Edito: Veo algunos errores, corrijo y chequeo de nuevo. Gracias

Última edición por BiankaH; 03/06/2011 a las 19:40 Razón: Veo algunos errores en el codigo. Corrijo y luego les aviso

Etiquetas: estilos, posible, 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 19:17.