¿Cómo puedo enviar una página al hacer clic en un enlace usando Jquery sin la presencia de un formulario?

Quiero falsificar el envío de una página (publicación) al hacer clic en un enlace. Necesito pasar dos parámetros en la publicación, la identificación (var "x" en el código de abajo, y enviada = "true") a la página index.php. Necesito falsificar un envío (carga de página completa) y no solo una solicitud ajax.

<a href="#" id="5" class="rootcontent">Title</a>

$("a.rootcontent").live('click', function(){
    var x= $(this).attr("id"); 
   //need the code to submit the page to index.php with two $_POST variables (x and submitted=true)
    });

preguntado el 08 de noviembre de 11 a las 13:11

2 Respuestas

Una solución rápida sería adjuntar un formulario al documento y enviarlo. Algo como lo siguiente (no probado, pero debería funcionar):

var form = $('<form method="post" id="form-to-be-submitted" action="/es/index.php"><input type="hidden" name="x" value="' + x + '"/><input type="hidden" name="submitted" value="true"/></form>');
$(document.body).append(form);
form.submit();

respondido 08 nov., 11:17

No le daría al formulario una identificación; Existe la posibilidad de que entre en conflicto con una identificación existente. En su lugar, simplemente almacene el formulario en una variable antes de agregarlo al DOM y envíelo usando la variable; $form = $("<form..."); $(document.body).append($form); $form.submit() - meagar

@meagar No creo que haya un caso de colisión de ID, pero aún está en mejor forma, he actualizado mi ejemplo (solo se pretendía como un ejemplo, todavía no se ha probado). - tortuoso

Puede realizar una de las siguientes acciones:

  • utilizado $ .post (ajax)
  • agregue un formulario y maneje el evento de envío para agregar x y enviado
  • agregar un formulario con campos ocultos para xy enviado

respondido 08 nov., 11:17

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.