Come inviare un modulo con Javascript quando il nome dell’input è “submit”?

Domanda: Come puoi inviare un modulo con Javascript se un modulo di input ha il nome submit ?

Background: sto reindirizzando l’utente a un’altra pagina con un modulo HTML nascosto. Non posso cambiare il nome sugli ingressi (nascosti), poiché l’altra pagina si trova su un altro server e gli input devono essere esattamente come sono. Il mio modulo HTML ha questo aspetto:

 

Io uso la seguente linea javascript per inviare automaticamente il modulo oggi:

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

Tuttavia, poiché il nome di un input è “submit” (non può essere qualcos’altro, o l’altro server non gestirà la richiesta), document.getElementById('redirectForm').submit riferisce all’input in quanto sovrascrive il modulo funzione submit() .

Il messaggio di errore in Firefox è: Error: document.getElementById("requestform").submit is not a function . Messaggio di errore simile in Safari.

Solutions Collecting From Web of "Come inviare un modulo con Javascript quando il nome dell’input è “submit”?"

Vale la pena notare : spesso è molto più semplice cambiare il nome di input in qualcosa di diverso da “submit”. Si prega di utilizzare la soluzione di seguito solo se ciò non è ansible.

Devi ottenere la funzione di submit da una forma diversa:

 document.createElement('form').submit.call(document.getElementById('redirectForm')); 

Se hai già un altro tag

, puoi usarlo invece di crearne un altro.

Usa il metodo submit() da HTMLFormElement.prototype :

 HTMLFormElement.prototype.submit.call(document.getElementById('redirectForm'));