2011-04-05 14 views
6

Tengo un enlace que al hacer clic en Abrir una ventana con window.open como a continuación.Window.Open POST

window.open("edit.jsp?clientId=" + clientId + "&eventId=" + eventId , 'height=600,width=800,scrollbars=1,location:no,menubar:no,resizable=1,status:no,toolbar:no'); 

No quiero que el parámetro pase aquí, en cambio quiero algo como publicar para que la gente no pueda copiar la URL.

+5

Estas preguntas son similares: [publicación de window.open] (http://stackoverflow.com/questions/3951768/window-open-and-pass-parameters-by-post-method-problem) – richaux

Respuesta

15

No se puede desencadenar una ventana emergente javascript y luego forzar una solicitud posterior.

tres opciones:

  1. Gatillo un formulario de envío con target="_blank" usando javascript (pero esto no le permite deshabilitar elementos de la interfaz, como la barra de menús).
  2. Abra una ventana emergente localmente, pero no especifique una url. Use el resultado de window.open para alterar el documento y generar un formulario que luego debe publicar.

    var myWindow = window.open("", "", "height=600,width=800,scrollbars=1,location=no,menubar=no,resizable=1,status=no,toolbar=no"); 
    myWindow.document.write("Write a form here and then later on trigger it"); 
    
  3. Realmente no deberías hacer nada de esto. Si es malo para los usuarios copiar URL, hay un defecto en el diseño de la aplicación.

  4. Agregado después de editar: utilizar el enfoque 'ventana vacía', pero en lugar de escribir un formulario y provocando que, hacen un un XMLHTTPRequest (con POST) en la matriz. El resultado de esta solicitud se puede usar para poblar la ventana secundaria.

6

Al lado de AJAX (jquery.load()), lo que me gustaría utilizar mi mismo - ¿qué tal el siguiente enfoque:

<form method="post" action="edit.jsp" target="_blank"> 
     <input type="hidden" name="clientId" value="88"/> 
     <input type="hidden" name="eventId" value="2"/> 
</form> 

target = _blank realmente abrir una nueva ventana/pestaña de los datos publicado se procesará en. Desafortunadamente, apenas puede controlar el aspecto de las nuevas ventanas.

Cuestiones relacionadas