none
usar parametros en funciones javascript RRS feed

  • Pregunta

  • hola : 

    tengo una funcion javascript a la cual quiero que utilice un parametro :
    la misma la tengo en un arch .js. El codigo de la misma es:

    function MostrarVentana(tcTitulo) {

        nuevaVentana = nuevaVentana = window.open("", "Ventana Inicial",
       "toolbar=no,location=no,menubar=no,resizable=no," +
       "width=390,height=30,top=300,left=250");
        nuevaVentana.document.write("<HTML><HEAD><TITLE>tcTitulo</TITLE></HEAD>\n");
        nuevaVentana.document.write("<BODY><form>\n");
        nuevaVentana.document.write("</form>\n");
        nuevaVentana.document.write("</BODY></HTML>\n");
        nuevaVentana.document.close();
      

    }

    la misma la invoco desde el codigo html de un webform de esta manera:

      <asp:Button ID="Button4" runat="server" onclientclick="return MostrarVentana('ventana inicial')" Style="z-index: 1; left: 681px; top: 488px; " Text="Button" />

    el tema es que cuando clickeo en el boton Button4 me pone como titulo 
    tcTitulo 

    Yo busque informacion y me base en este ejemplo :

    function mostrarImporteConImpuestos(importeSinImpuestos) { 
    var importeConImpuestos; importeConImpuestos = importeSinImpuestos * 1.21;
    msg = 'Importe antes de impuestos: '+ importeSinImpuestos + '\n\n';
    alert(msg + 'Importe con impuestos: '+ importeConImpuestos + '\n\n');
    }

    donde la llamada se hace asi :

    onclick="mostrarImporteConImpuestos(100)" 

    no se donde esta el error. gracias 



    domingo, 22 de enero de 2017 0:44

Respuestas

  • El error no está en el paso del parámetro a la función, sino dentro de la función en el sitio donde usas el parámetro. Fíjate que has puesto esto:

    nuevaVentana.document.write("<HTML><HEAD><TITLE>tcTitulo</TITLE></HEAD>\n");

    Es decir, has puesto una cadena constante entre comillas, y dentro de la cadena pone la constante "tcTitulo". Por eso escribe literalmente tcTitulo. Si quieres que lo evalúe poniendo el valor del parámetro, tienes que ponerlo fuera de las comillas:

    nuevaVentana.document.write("<HTML><HEAD><TITLE>" + tcTitulo + "</TITLE></HEAD>\n");

    domingo, 22 de enero de 2017 15:03