¿Cómo puedo enviar un formulario usando JavaScript?

Resuelto Nate asked hace 12 años • 12 respuestas

Tengo un formulario con id theFormque tiene el siguiente div con un botón de enviar dentro:

<div id="placeOrder"
     style="text-align: right; width: 100%; background-color: white;">
    <button type="submit"
            class='input_submit'
            style="margin-right: 15px;"
            onClick="placeOrder()">Place Order
    </button>
</div>

Cuando se hace clic, se llama a la función placeOrder(). La función cambia el HTML interno del div anterior para que sea "procesando ..." (por lo que el botón de enviar ya no está).

El código anterior funciona, pero ahora el problema es que no puedo enviar el formulario. Intenté poner esto en la placeOrder()función:

document.theForm.submit();

Pero eso no funciona.

¿Cómo puedo obtener el formulario para enviar?

Nate avatar Mar 25 '12 04:03 Nate
Aceptado

Establezca el nameatributo de su formulario en "theForm"y su código funcionará.

Andrew Hare avatar Mar 24 '2012 21:03 Andrew Hare

Puedes usar...

document.getElementById('theForm').submit();

...pero no reemplaces el innerHTML. Podrías ocultar el formulario y luego insertar un procesamiento... span que aparecerá en su lugar.

var form = document.getElementById('theForm');

form.style.display = 'none';

var processing = document.createElement('span');

processing.appendChild(document.createTextNode('processing ...'));

form.parentNode.insertBefore(processing, form);
alex avatar Mar 24 '2012 21:03 alex