Foros del Web » Programando para Internet » Javascript »

Pasar de php a javascript en una función

Estas en el tema de Pasar de php a javascript en una función en el foro de Javascript en Foros del Web. Buenos dias hice una función en php que calcula las cuotas pero quisiera hacerla en javascript para que se ejecute en el navegador, honestamente no ...
  #1 (permalink)  
Antiguo 01/02/2016, 08:59
 
Fecha de Ingreso: enero-2016
Mensajes: 8
Antigüedad: 8 años, 3 meses
Puntos: 0
Pasar de php a javascript en una función

Buenos dias hice una función en php que calcula las cuotas pero quisiera hacerla en javascript para que se ejecute en el navegador, honestamente no entiendo mucho el lenguaje. Serian tan amables de ayudarme a pasarlo a javascript?? porfavor les agradecería muchísimo.
Este es el link de la función: (y el código completo más abajo)

[URL="http://ceccanaan.org/interna/interna2.php"]http://ceccanaan.org/interna/interna2.php[/URL]


Código PHP:
<?php 

$moneda 
Gs
$rcs_financiera 7
$row_rcs_financiera 7
$totalRows_rcs_financiera 2
$cuotaPorDefecto 24
$price 12000000

$_GET['precio_contado'] = 12000000
//echo $ggg."<br/>"; 
//echo $price."<br/>"; 
$cuotaSeleccionada $_GET['cuotaSeleccionada']; 
function 
puntos($s

$sstr_replace('"',''$s); 
$sstr_replace(':',''$s);  
$sstr_replace('.',''$s);  
$sstr_replace(',',''$s);  
$sstr_replace(';',''$s); 
$sstr_replace('Gs',''$s); 
return 
$s

//$price = puntos('price'); 

if(!isset($_GET['cuotaSeleccionada'])){$cuotaSeleccionada $cuotaPorDefecto$_GET['cuotaSeleccionada'] = $cuotaPorDefecto;} 
//setcookie( 'price' , $price , time()+3600, '/' ); 


 //porcentaje gasto administrativo sobre el valor contado 
$valor_gasto_administrativo 0
$ga_precio_contado $price*$valor_gasto_administrativo/100
$monto_total_prestamo=  $price +$ga_precio_contado

//porcentaje de interes segun financiera 
$tasa=2
$totalRows_rcs_porcentaje_interes 4
$cuotasTotales 24


?> 

<!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" lang="es"> 
<head> 
<title></title> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
    <link href="cuotero.css" rel="stylesheet" type="text/css" /> 
    <style type="text/css"> 
        #node1 
        { 
    float: left; 
    width: 155px; 
        } 
        #node2 
        { 
    float: left; 
     
    margin-top: 5px; 
    margin-left: 0px; 
        } 

    .Estilo2 {font-family: Arial, Helvetica, sans-serif} 
    .Estilo3 {font-weight: bold} 
.Estilo4 {font-family: Arial, Helvetica, sans-serif; font-weight: bold; } 
.cuadro { 
    float: right; 

select { 
width: 100px; 
    padding:3px; 
    margin: 0; 
    -webkit-border-radius:4px; 
    -moz-border-radius:4px; 
    border-radius:4px; 
    -webkit-box-shadow: 0 3px 0 #ccc, 0 -1px #fff inset; 
    -moz-box-shadow: 0 3px 0 #ccc, 0 -1px #fff inset; 
    box-shadow: 0 3px 0 #ccc, 0 -1px #fff inset; 
    background: #f8f8f8; 
    color:#888; 
    border:none; 
    outline:none; 
    display: inline-block; 
    -webkit-appearance:none; 
    -moz-appearance:none; 
    appearance:none; 
    cursor:pointer; 

label {position:relative} 
label:after { 
    content:'<>'; 
    font:11px "Consolas", monospace; 
    color:#aaa; 
    -webkit-transform:rotate(90deg); 
    -moz-transform:rotate(90deg); 
    -ms-transform:rotate(90deg); 
    transform:rotate(90deg); 
    right:8px; top:2px; 
    padding:0 0 2px; 
    border-bottom:1px solid #ddd; 
    position:absolute; 
    pointer-events:none; 

label:before { 
    content:''; 
    right:6px; top:0px; 
    width:20px; height:20px; 
    background:#f8f8f8; 
    position:absolute;} 


/* Targetting Webkit browsers only. FF will show the dropdown arrow with so much padding. */ 
@media screen and (-webkit-min-device-pixel-ratio:0) { 
    select {padding-right:18px} 

    </style> 
</head> 
<body> 
<div class="cuadro"> 
<div id="node2"><form method="get" enctype="multipart/form-data" class="cuotero" id="cuotas" align="left"> 
<label> 
<select name="cuotaSeleccionada" onchange="this.form.submit()"> 
  <? for($i=2$i <= 24$i++){?> 
  <option value="<?=$i?><? if($i == $_GET['cuotaSeleccionada']){echo "selected";}?>
  <?=$i?> 
  </option> 
  <? ?> 
</select></label>&nbsp;cuotas de: 

</form> 
<?php if ($tasa 0) { // Show if recordset not empty ?> 
          <p style="display:none" align="center" class="Estilo2">Precio Contado: <span class="Estilo4"><?php echo number_format($_GET['precio_contado'], 0'''.' ); ?> Gs.</span> |  Gasto Administrativo: <?php echo number_format($ga_precio_contado0'''.' ); ?> Gs. | Financiera:  <?php echo "4%"?></p> 
          <p style="display:none" align="center" class="Estilo3">MONTO DEL PRESTAMO: <?php echo number_format($monto_total_prestamo0'''.' ); ?> Gs. </p> 
          <?php ?> 
        <?php if ($totalRows_rcs_porcentaje_interes 0) { // Show if recordset not empty ?> 
           
          <?php ?> 



</div><!-- #node2 end --> 

<div id="node1"><div align="left" style="font-size:20px; color:#FFFFFF; ; ; ; background-color: #006600; background-image: url(../../image/price-tag.png); background-repeat: no-repeat; background-position: left; "> 
             
    <table width="76%" border="0" align="center"> 
              
<tr> 
                  <td width="20%">&nbsp;&nbsp;<span class="Estilo4">₲</span></td> 
               
                  <td width="80%">                     
                    <div align="center" class="Estilo4"> 
                      <?php     
    
// se generan las cuotas a pagar con sus correspondientes detalles 
  
  
echo '<table class="table">'
    echo 
'<tr>'
echo  
'<td align="right">'
echo 
'';  
echo  
'<br>'
echo 
''
echo  
'</td>'

$cantCuotas 0
do {  
if (
$tasa<=0) { 
$monto_cuota round(($monto_total_prestamo/$cantCuotas), 0);  
}  

if (
$tasa>0) { 
$anual $tasa/100
$mes round(($anual/12), 6); 
$monto_cuota $monto_total_prestamo / ((pow((1+$mes), $cantCuotas)-1)/($mes*pow((1+$mes),$cantCuotas)));  

if(
$cantCuotas == $cuotaSeleccionada){ 
echo  
'<td align="right">'
    
echo 
number_format($monto_cuota0'''.' ); 

echo  
'</td>'

$cantCuotas ++; 

} while (
$cantCuotas >= and $cantCuotas <= $cuotasTotales ); 
      echo
'</tr>'
  echo 
'</table>'
    
?> 
            </div></td> 
    </table> 
             
                   
      <p align="center">    </p> 
</div></div></div><!-- #node1 end --> 
</body> 
</html>
  #2 (permalink)  
Antiguo 01/02/2016, 09:14
 
Fecha de Ingreso: noviembre-2010
Ubicación: Córdoba
Mensajes: 119
Antigüedad: 13 años, 5 meses
Puntos: 8
Respuesta: Pasar de php a javascript en una función

Hola, para JS tienes la función replace(). Aplicada a un String
"Hola amigos".replace("amigos", "todos");
Devolvería "Hola todos".
  #3 (permalink)  
Antiguo 01/02/2016, 10:51
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Pasar de php a javascript en una función

A diferencia de PHP, en JavaScript las variables pueden o no ser declaradas. Se declaran colocando la palabra var antes de ellas y un espacio que las separe. Si las declaras, defines su alcance. Por ejemplo, si declaras variables dentro de una función, no podrás utilizarlas fuera de ella, pero si las declaras fuera de cualquier función, su ámbito será global o público y podrás utilizarlas incluso dentro de las funciones. Te aconsejo declararlas, tal y como lo indica el manual.

Código Javascript:
Ver original
  1. var nombre = "Juan", edad = 30;

Como veo que recibes valores mediante el método GET, puedes tomarlos desde la URI. El siguiente algoritmo te sirve para eso:
Código Javascript:
Ver original
  1. var search = location.search,
  2.     pos = search.indexOf("?"),
  3.     query = search.substr(pos + 1).split("&"),
  4.     $_GET = {}, prop, par;
  5.  
  6. for (prop in query){
  7.     par = query[prop].split("=");
  8.     $_GET[par[0]] = par[1];
  9. }

En la primera línea obtenemos la cadena de consulta de la URI (location.search) la cual posee el "?" que separa la cadena de consulta del resto de la URI, como en http://www.ejemplo.com?foo=bar&bin=baz. Enseguida, tomamos la posición que ocupa el "?" (.indexOf()) en el valor previamente tomado. A continuación, tomamos la parte de la cadena de consulta (.substr()) que empieza desde la siguiente ubicación a partir del "?", lo que en el ejemplo sería foo=bar&bin=baz y ya teniendo esta cadena, la separamos a partir del "&" (.split()), generándose un array con cada par variable-valor, resultando en algo como esto: ["foo=bar", "bin=baz"].

Luego de declarar algunas variables, procedemos a recorrer el array previamente generado. En cada iteración, separamos a cada par variable-valor a partir del signo de igualdad, obteniendo un array en el cual el nombre de la variable ocupará la posición cero y el valor, la posición uno. Se los asignamos a $_GET de tal forma que el nombre de la variable ahora será un atributo del objeto literal $_GET, mientras que el valor será el que le corresponda.

El equivalente de la función str_replace() es el método .replace(), el cual, para tu caso, tendrás que utilizarlo así:
Código Javascript:
Ver original
  1. s.replace(":", "");

Aunque viendo la secuencia de reemplazos, sería mejor si utilizarás una expresión regular, misma que puedes utilizar con el método en mención.
Código Javascript:
Ver original
  1. s.replace(/[":\.,;(Gs)+]+/g, "");

En esa línea se eliminarán todos los valores en cuestión y así evitarías colocar tantas instrucciones para hacer lo mismo.

Y para verificar si una variable está definida y que su valor no sea nulo, necesitas comprobar que su tipo (typeof) no sea undefined, es decir, indefinido, pero como veo que buscas obtener lo contrario, solo tendrías que hacer esto:
Código Javascript:
Ver original
  1. if (typeof variable == "undefined"){
  2.     //La variable no está definida
  3. }

El resto de operaciones se realizan de la misma manera.

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: html, php, valor
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 05:15.