none
form.submit() desde ASPX.VB RRS feed

  • Pregunta

  • Hola A todos, llevo todo el dia buscando aqui y alla y no encuentro lo que necesito.

    ¿Como podría llamar a esta function desde el ASPX.VB? y por otro lado ¿se puede?

    O mejor todavía, ¿como hago lo mismo en VB en el aspx.vb?

     

    <script language='JavaScript' type="text/javascript">

    function calc() {

    vent=window.open('','tpv','width=725,height=600,scrollbars=no,resizable=yes,status=yes,menubar=no,location=no');

    document.forms[compra].submit();

    }

    </script>

     

    He conseguido esto y parece que funciona, pero sale en blanco porque no consigo enviar el POST:

     

    Response.Write("<script>window.open('','tpv','width=725,height=600,scrollbars=no,resizable=yes,status=yes,menubar=no,location=no')</script>")

     

    No consigo enviar el POST de este formulario desde VB

    <form name="compra" action="<%=strURL%>" method="post" target="tpv">

     

    ¿Alguien podría indicarme, please?

    Muchas gracias...

    martes, 22 de abril de 2008 21:23

Todas las respuestas

  •  

    Hola

     

    Para registrar scripts puedes utilizar las siguietes clases.

     

    Page.ClientScript.RegisterClientScriptBlock

    Page.ClientScript.RegisterStartupScript

     

    Pero no entendi bien lo que quieres hacer. Podrias explicarlo de otra forma ?

     

    Ya que al parecer quieres habrir una ventana y despues enviar la forma ? Pero de la pagina que se abrio o de la pagina padre ?

     

     

    sábado, 26 de abril de 2008 0:15
  •  

    Pues veras, es un TPV virtual de la caixa y desde la pagina principal se envía un post con los valores de los INPUT hidden del form a la vez que se abre un POPUP para que el cliente rellene los datos de su tarjeta de credito etc...

     

    Todo bien si lo haces con un boton dentro del form submit que llama a la funcion del JAVA calc().

     

    Pero claro antes de hacer esto tengo que manipular los datos en VB con otro boton onclick

     

    Me encuentro con 2 botones en un form cada uno y eso no es lógico vista al usuario.

    Uno para ejecutar VB para un calculo antes de... y otro para el envío del post y apertura del POPUP

     

    Lo que pretendo es dejar un solo boton (el del VB) y un solo form o 2 me da igual y desde el codigo llamar a la function calc()

    El problema está en que he usado esto que me indicas pero no hay manera, me saca el POPUP pero en blanco.

    Ya le he puesto:

     

    HTML

     

    <script type="text/javascript" language="JavaScript">

    function calc()

    {

    var w = 720;

    var h = 600;

    var winl = (screen.width-w)/2;

    var wint = (screen.height-h)/2;

    if (winl < 0) winl = 0;

    if (wint < 0) wint = 0;

    var settings = 'height=' + h + ',';

    settings += 'width=' + w + ',';

    settings += 'top=' + wint + ',';

    settings += 'left=' + winl + ',';

    settings += 'scrollbars=no,resizable=yes,status=yes,menubar=no,location=no';

    var vent = window.open('','tpv',settings);

    vent.window.focus();

    document.form1.submit();

    }

    </script>

     

     

    <form id="form1" runat="server" action="<%=strURLTpvVirtual%>" method="post" target="tpv">

     

    inputs hidden

    etc...

     

     

     

    VB

    Public Shared Function EjecutarScript(ByVal oPage As Page, ByVal sNombreScript As String, ByVal sScript As String) As Boolean

    Dim sClientScript As String = "<script language=""javascript"">" & sScript & "</script>"

    If Not oPage.ClientScript.IsStartupScriptRegistered(sNombreScript) Then

    oPage.ClientScript.RegisterStartupScript(oPage.GetType, sNombreScript, sClientScript)

    End If

    Return True

    End Function

     

     

    EjecutarScript(Me, "postear", "calc()")

     

    No hay manera. Además, he intentado unir los 2 formularios y peor

     

    Saludos y gracias por tu interés

    sábado, 26 de abril de 2008 10:56