Estoy usando Sharepoint en línea 2015. Durante la creación de un elemento de la lista, necesito guardar el elemento de la lista y redirigir la página a EditForm.aspx del elemento de la lista creada en lugar de AllItems.aspx.

El siguiente es el código html para el botón:

<button type="button" id="idSaveProceed">Save & Proceed</button>

El siguiente es el código jQuery para guardar el elemento de la lista y redirigirlo al formulario Editar:

$("#idSaveProceed").click(function(event){
         event.preventDefault();
        if (!PreSaveItem()) return false;
        if (SPClientForms.ClientFormManager.SubmitClientForm('WPQ2')) return false;
        WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(elementName, "", true, "", "", false, true));

        GetListItemId(); // This will redirect the page to EditFoem.aspx;
    });

Pero cuando se ejecuta el código if (SPClientForms.ClientFormManager.SubmitClientForm('WPQ2')), la redirección de la página está sucediendo en AllItems.aspx. Incluso he dado una URL personalizada en WebForm_DoPostBackWithOptions. Pero antes de que se ejecute ese código, la página se redirige.

He intentado usar event.preventdefault() pero no sirve de nada.

Por favor, hágame saber lo que me falta aquí. Gracias por adelantado.

Nota: no quiero usar InfoPath. Solo quiero una solución en jQuery para manejar esto.

1
Naren 10 dic. 2015 a las 10:05

3 respuestas

La mejor respuesta

También necesita actualizar el

    < form id="aspnetForm" action="< url >?Source=...">

Parámetro fuente

Mira esta url. http://formsdesigner.blogspot.in/2013/04/redirect -after-sharepoint-form.html

Pero solo por curiosidad, ¿cómo va a obtener la identificación del elemento recién enviado?

3
Nikunj 11 dic. 2015 a las 09:14

Está publicando el formulario en la declaración del administrador del cliente.

Esto llamará al código del lado del servidor y no pasará a la siguiente línea.

Puede enviar el formulario mediante una llamada Ajax y luego redirigir la página.

1
Karl Gjertsen 10 dic. 2015 a las 07:17

Simplemente devuelve falso al final del evento de clic

$("#idSaveProceed").click(function(event){
if (!PreSaveItem()) return false;
if (SPClientForms.ClientFormManager.SubmitClientForm('WPQ2')) return false;
WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(elementName, "", true, "", "", false, true));return false;});
0
Ashiqullah Sahibzai 10 dic. 2015 a las 07:18
34195672