Oscarred Posted November 3, 2012 Share Posted November 3, 2012 Hola , tengo un simulador de hipotecas en mi pagina , cuando lo pruebo en el editor ( en local ) me funciona a la perfeccion , luego copio el codigo lo pego en un CMS y en mi pagina no funciona , no me hace el calculo de las cuotas. Mi pregunta es , ¿desde CMS se puede tratar esta informacion y que haga el calculo o desde CMS simplemente no funcionara? Tambien lo tengo en un modulo en la culumna derecha, pero tampoco hace los calculos el enlace de mi pagina el siguiente: http://fincas.16mb.c...ms.php?id_cms=9 si lo probais en vuestro editor vereis que funciona , sin embargo en la pagina no. ¿alguna idea? el codigo es el siguiente: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled</title> </head> <body> <script type="text/javascript">// <![CDATA[ function verificar_numero(numero,formulario) { if (numero.value=='') { } var noes=0; var str = numero.value; for (var i = 0; i < str.length; i++) { var ch = str.substring(i, i + 1) if ((ch < "0" || "9" < ch) && ch != ',' && ch != '.') { numero.value='' numero.focus() numero.select() noes=1 } } if (noes==1) { alert('El valor introducido "' + str + '" no es un número.') return 1 } else { numero.value = str.replace('.', ','); } return 0; } function hay_cambio() { if ( document.forms[0].medida_anterior.value != 12.0) { return 1 } if ( document.forms[0].tipoVF_anterior.value != 1) { return 1 } if ( document.forms[0].importe.value != document.forms[0].importe_anterior.value) { return 1 } if ( document.forms[0].plazo.value != document.forms[0].plazo_anterior.value) { return 1 } if ( document.forms[0].tipo.value != document.forms[0].tipo_anterior.value) { return 1 } if ( document.forms[0].cuota.value != document.forms[0].cuota_anterior.value) { return 1 } return 0 } function almacena() { document.forms[0].importe_anterior.value = document.forms[0].importe.value document.forms[0].plazo_anterior.value = document.forms[0].plazo.value document.forms[0].tipo_anterior.value = document.forms[0].tipo.value document.forms[0].cuota_anterior.value = document.forms[0].cuota.value document.forms[0].medida_anterior.value = 12.0 document.forms[0].tipoVF_anterior.value = 0 } function calculacuota() { // CALCULA LA CUOTA A PAGAR CONOCIENDO: if ( hay_cambio() == 0 ) { return } imp = parseInt(desformatear_numero(document.forms[0].importe.value)) plazo_meses = parseInt(desformatear_numero(document.forms[0].plazo.value)) tipo_mensual = parseFloat(desformatear_numero(document.forms[0].tipo.value)) medida = 12.0 if ( isNaN(imp) || imp == 0 ) { alert("Debe rellenar el campo 'Importe a financiar'") return } if ( isNaN(plazo_meses) || plazo_meses == 0 ) { alert("Debe rellenar el campo 'Plazo de amortización'") return } if ( isNaN(tipo_mensual) || tipo_mensual == 0.0 ) { alert("Debe rellenar el campo 'Tipo de interés'") return } if ( tipo_mensual > 20.0 ) { alert("El Tipo de interés es superior al 20% y no es aceptable para un préstamo hipotecario.") return } plazo_meses = plazo_meses * medida // EL TIPO DE INTERES VIENE EN ANIOS Y LOS PASAMOS A TIPO INTERES MENSUAL tipo_mensual = tipo_mensual / 1200.0 y = 1.0 + tipo_mensual cuota = imp * tipo_mensual * Math.pow(y,plazo_meses) / ( Math.pow(y,plazo_meses) - 1.0 ) document.forms[0].cuota.value = formatear_numero((Math.round(cuota *100.00) / 100.00).toFixed(2)) almacena() tipo_mensual_max = 4.00 / 1200.0; yMax= 1.0 + tipo_mensual_max; cuotamax = imp * tipo_mensual_max * Math.pow(yMax,plazo_meses) / ( Math.pow(yMax,plazo_meses) - 1.0 ); document.forms[0].cuotaMax.value = formatear_numero(Math.round(cuotamax *100.00) / 100.00); tipo_mensual_min = 6.00 / 1200.0; yMin= 1.0 + tipo_mensual_min; cuotamin = imp * tipo_mensual_min * Math.pow(yMin,plazo_meses) / ( Math.pow(yMin,plazo_meses) - 1.0 ); document.forms[0].cuotaMin.value = formatear_numero(Math.round(cuotamin *100.00) / 100.00); } function calculaimporte() { // CALCULA EL IMPORTE DEL PRESTAMO A SOLICITAR CONOCIENDO: if ( hay_cambio() == 0 ) { return } plazo_meses = parseFloat(desformatear_numero(document.forms[0].plazo.value)) tipo_mensual = parseFloat(desformatear_numero(document.forms[0].tipo.value)) cuota = parseFloat(desformatear_numero(document.forms[0].cuota.value)) medida = 12.0 if ( isNaN(cuota) || cuota == 0 ) { alert("Debe rellenar el campo 'Cuota mensual a pagar'") return } if ( isNaN(plazo_meses) || plazo_meses == 0 ) { alert("Debe rellenar el campo 'Plazo de amortización'") return } if ( isNaN(tipo_mensual) || tipo_mensual == 0.0 ) { alert("Debe rellenar el campo 'Tipo de interés'") return } if ( tipo_mensual > 20.0 ) { alert("El Tipo de interés es superior al 20% y no es aceptable para un préstamo hipotecario.") return } plazo_meses = plazo_meses * medida // EL TIPO DE INTERES VIENE EN ANIOS Y LOS PASAMOS A TIPO INTERES MENSUAL tipo_mensual = tipo_mensual / 1200.0 y = 1.0 + tipo_mensual imp = cuota / ( tipo_mensual * Math.pow(y,plazo_meses) / ( Math.pow(y,plazo_meses) - 1.0 ) ) document.forms[0].importe.value = formatear_numero(Math.round(imp *100.00) / 100.00) almacena() tipo_mensual_max = 4.00 / 1200.0; yMax= 1.0 + tipo_mensual_max; cuotamax = imp * tipo_mensual_max * Math.pow(yMax,plazo_meses) / ( Math.pow(yMax,plazo_meses) - 1.0 ); document.forms[0].cuotaMax.value = formatear_numero(Math.round(cuotamax *100.00) / 100.00); tipo_mensual_min = 6.00 / 1200.0; yMin= 1.0 + tipo_mensual_min; cuotamin = imp * tipo_mensual_min * Math.pow(yMin,plazo_meses) / ( Math.pow(yMin,plazo_meses) - 1.0 ); document.forms[0].cuotaMin.value = formatear_numero(Math.round(cuotamin *100.00) / 100.00); } function calculaplazo() { // CALCULA EL NUMERO DE PLAZOS NECESARIOS CONOCIENDO: if ( hay_cambio() == 0 ) { return } imp = parseFloat(desformatear_numero(document.forms[0].importe.value)) cuota = parseFloat(desformatear_numero(document.forms[0].cuota.value)) tipo_mensual = parseFloat(desformatear_numero(document.forms[0].tipo.value)) if ( isNaN(imp) || imp == 0 ) { alert("Debe rellenar el campo 'Importe a financiar'") return } if ( isNaN(tipo_mensual) || tipo_mensual == 0.0 ) { alert("Debe rellenar el campo 'Tipo de interés'") return } if ( isNaN(cuota) || cuota == 0 ) { alert("Debe rellenar el campo 'Cuota mensual a pagar'") return } if ( tipo_mensual > 20.0 ) { alert("El Tipo de interés es superior al 20% y no es aceptable para un préstamo hipotecario.") return } plazoHipo=-(Math.log(1-((imp*((tipo_mensual/100)/12))/cuota))/Math.log(1+((tipo_mensual/100)/12))) /12; document.forms[0].plazo.value = Math.floor( plazoHipo ) almacena() tipo_mensual_max = 4.00 / 1200.0; yMax= 1.0 + tipo_mensual_max; cuotamax = imp * tipo_mensual_max * Math.pow(yMax,plazo_meses) / ( Math.pow(yMax,plazo_meses) - 1.0 ); document.forms[0].cuotaMax.value = formatear_numero(Math.round(cuotamax *100.00) / 100.00); tipo_mensual_min = 6.00 / 1200.0; yMin= 1.0 + tipo_mensual_min; cuotamin = imp * tipo_mensual_min * Math.pow(yMin,plazo_meses) / ( Math.pow(yMin,plazo_meses) - 1.0 ); document.forms[0].cuotaMin.value = formatear_numero(Math.round(cuotamin *100.00) / 100.00); } function calculatipo() { // CALCULA EL TIPO DE INTERES CONOCIENDO: if ( hay_cambio() == 0 ) { return } imp = parseFloat(desformatear_numero(document.forms[0].importe.value)) cuota = parseInt(desformatear_numero(document.forms[0].cuota.value)) plazo_meses = parseInt(desformatear_numero(document.forms[0].plazo.value)) medida = 12.0 if ( isNaN(imp) || imp == 0 ) { alert("Debe rellenar el campo 'Importe a financiar'") return } if ( isNaN(cuota) || cuota == 0 ) { alert("Debe rellenar el campo 'Cuota mensual a pagar'") return } if ( isNaN(plazo_meses) || plazo_meses == 0 ) { alert("Debe rellenar el campo 'Plazo de amortización'") return } plazo_meses = plazo_meses * medida tipo_mensual = 20.0 / 1200.0 inc_tipo_mensual = 10.0 / 1200.0 y = 1.0 + tipo_mensual cuota_actual = Math.round(imp * tipo_mensual * Math.pow(y,plazo_meses) / ( Math.pow(y,plazo_meses) - 1.0 )) while ( cuota_actual != cuota) { y = 1.0 + tipo_mensual cuota_actual = Math.round(imp * tipo_mensual * Math.pow(y,plazo_meses) / ( Math.pow(y,plazo_meses) - 1.0 )) if (cuota_actual > cuota) { // se aplica un interes muy alto, hay que bajarlo tipo_mensual= tipo_mensual - inc_tipo_mensual } else {// se aplica un interes muy bajo, hay que subirlo tipo_mensual= tipo_mensual + inc_tipo_mensual } if ((tipo_mensual * 1200.0) > 20.0) { alert("El Tipo de interés a aplicar es superior al interés permitido por un banco (20%)") almacena() return } inc_tipo_mensual = inc_tipo_mensual / 2.0 } tipo_mensual = tipo_mensual * 1200.0 document.forms[0].tipo.value = formatear_numero(Math.round(tipo_mensual * 100.00) / 100.00) almacena() tipo_mensual_max = 4.00 / 1200.0; yMax= 1.0 + tipo_mensual_max; cuotamax = imp * tipo_mensual_max * Math.pow(yMax,plazo_meses) / ( Math.pow(yMax,plazo_meses) - 1.0 ); document.forms[0].cuotaMax.value = formatear_numero(Math.round(cuotamax *100.00) / 100.00); tipo_mensual_min = 6.00 / 1200.0; yMin= 1.0 + tipo_mensual_min; cuotamin = imp * tipo_mensual_min * Math.pow(yMin,plazo_meses) / ( Math.pow(yMin,plazo_meses) - 1.0 ); document.forms[0].cuotaMin.value = formatear_numero(Math.round(cuotamin *100.00) / 100.00); } function nada () { return } function formatear_numero(numero) { var auxNumero=''; var strNumero= numero + ''; for (var i = 0; i < strNumero.length; i++) { var ch = strNumero.substring(i, i + 1) if (ch == '.') { auxNumero = auxNumero + ','; } else { auxNumero = auxNumero + ch; } } return auxNumero; } function desformatear_numero(numero) { var auxNumero=''; var strNumero= numero + ''; for (var i = 0; i < strNumero.length; i++) { var ch = strNumero.substring(i, i + 1) if (ch == ',') { auxNumero = auxNumero + '.'; } else { auxNumero = auxNumero + ch; } } return auxNumero; } // ]]></script> <br /><form id="Calculadora" name="Calculadora"><center> <table style="width: 98%;" align="center"> <tbody> <tr><th scope="col" align="left" valign="top"> <p style="text-align: center;" align="left"><br /> <input type="hidden" name="importe_anterior" /> <input type="hidden" name="plazo_anterior" /> <input type="hidden" name="tipo_anterior" /> <input type="hidden" name="cuota_anterior" /> <input type="hidden" name="medida_anterior" /> <input type="hidden" name="tipoVF_anterior" /></p> <p align="left"><strong>Importe a financiar: <span style="margin-left: 80px; margin-top: -35px;"> <input tabindex="1" onblur="verificar_numero(this,Calculadora)" type="text" name="importe" size="10" align="right" /> <input class="button" style="width: 65px;" onclick="calculaimporte( )" tabindex="5" type="button" name="cimporte22" value="Importe" /> </span></strong></p> <p align="left"><strong>Plazo de amortización: <span style="margin-left: 65px; margin-top: -35px;"> <input tabindex="2" onblur="verificar_numero(this,Calculadora)" type="text" name="plazo" size="10" align="right" /> <input class="button" style="width: 65px;" onclick="calculaplazo( )" tabindex="6" type="button" name="cplazo" value="Plazo" /> <input type="hidden" name="medida" value="1" /> </span></strong><span style="margin-left: 65px; margin-top: -35px;">años</span></p> <p align="left"><strong>Tipo de interés: <span style="margin-left: 105px; margin-top: -35px;"> <input tabindex="3" onblur="verificar_numero(this,Calculadora)" type="text" name="tipo" size="10" align="right" /> <input class="button" style="width: 65px;" onclick="calculatipo( )" tabindex="7" type="button" name="ctipo" value="Tipo" /> <input type="hidden" name="tipoVF" value="1" /> </span></strong></p> <p align="left"><strong>Cuota mensual a pagar: </strong><span style="margin-left: 55px; margin-top: -35px;"> <input tabindex="4" onblur="verificar_numero(this,Calculadora)" type="text" name="cuota" size="10" align="right" /> <input class="button" style="width: 65px;" onclick="calculacuota()" tabindex="8" type="button" name="ccuota" value="Cuota" /> </span><br /> <br /> <br /> <input class="button" style="width: 200px; text-align: center; cursor: pointer;" tabindex="9" type="reset" name="reset2" value="BORRAR DATOS" /></p> <p align="left"> </p> <p align="left">Cuota mensual con Tipo estimado 4,00%: <input style="font-family: Verdana;" type="text" name="cuotaMax" disabled="disabled" readonly="readonly" size="10" align="right" /></p> <p align="left">Cuota mensual con Tipo posible 6,00%: <input style="font-family: Verdana;" type="text" name="cuotaMin" disabled="disabled" readonly="readonly" size="10" align="right" /></p> </th></tr> </tbody> </table> </body> </html> Saludos !! Link to comment Share on other sites More sharing options...
nadie Posted November 4, 2012 Share Posted November 4, 2012 Prueba crear una pagina manual, siguiendo esta guía: http://victor-rodena...prestashop-1-5/ Link to comment Share on other sites More sharing options...
nadie Posted November 4, 2012 Share Posted November 4, 2012 Revisando otra vez tu mensaje. (No me he metido a tu tienda) Te recomiendo es meter el "codigo" tienes que en el head , pero en el head de tu tienda, por ejemplo a modo chapuzero editando el header.tpl de tu tienda, y colocando antes de cerrar el </head> (Si metes el codigo javascript en el header.tpl, recuerda meterlo entre {literal} {/literal} por si las moscas.) Y luego el codigo "html", prueba meterlo como lo estabas metiendo, pero solo el codigo html. Link to comment Share on other sites More sharing options...
Oscarred Posted November 4, 2012 Author Share Posted November 4, 2012 Ok Nadie , lo pruebo esta tarde y te comento como va. Gracias Link to comment Share on other sites More sharing options...
Recommended Posts