Sto creando un modulo da inviare in funzione javascript. Ho legato la funzione all'evento onchange di un elemento selezionato. Event funziona bene in chrome e firefox, l'ho testato, chiama la funzione. Ma il problema è; mentre Chrome invia il modulo, firefox no. Potresti per favore aiutare? Grazie.Impossibile inviare il modulo da Javascript su Firefox
funzione Javascript:
function getStatementDetails()
{
var stmtSelect = document.getElementById("statementSelect");
var selectedId = stmtSelect.options[stmtSelect.selectedIndex].value;
var stmtForm = document.createElement("form");
stmtForm.setAttribute('method', "post");
stmtForm.setAttribute('action', "mymiles-mystatement");
var stmtId = document.createElement("input");
stmtId.setAttribute('type', "hidden");
stmtId.setAttribute('name', "statementID");
stmtId.setAttribute('id', "statementID");
stmtId.setAttribute('value', selectedId);
stmtForm.appendChild(stmtId);
stmtForm.submit();
};
La selezione ingresso:
<select id="statementSelect" name="statementSelect" class="select-miles select-miles-medium spacing-right-10" onchange="getStatementDetails()">
Edit: Ho letto il post suggerito e provato. Continua a non funzionare. Funzione stato più recente:
function getStatementDetails()
{
var stmtSelect = document.getElementById("statementSelect");
var selectedId = stmtSelect.options[stmtSelect.selectedIndex].value;
var stmtForm = document.createElement("form");
stmtForm.setAttribute('method', "post");
stmtForm.setAttribute('action', "mymiles-mystatement");
var stmtId = document.createElement("input");
stmtId.setAttribute('type', "hidden");
stmtId.setAttribute('name', "statementID");
stmtId.setAttribute('id', "statementID");
stmtId.setAttribute('value', selectedId);
var stmtSbmt = document.createElement("input");
stmtSbmt.setAttribute('type', "submit");
stmtSbmt.setAttribute('name', "tryMe");
stmtSbmt.setAttribute('id', "tryMe");
stmtSbmt.setAttribute('value', "try submit");
stmtForm.appendChild(stmtId);
stmtForm.appendChild(stmtSbmt);
stmtForm.submit();
};
Sembra un codice corretto, così lungo che è necessario ma deve funzionare. Puoi dirci se la console genera un errore? In Firefox, ALT + F2 apre la barra del superdeveloper e si trova nel pulsante degli strumenti in cui trovi inspector, console, ecc. –
Forse Firefox non scarica le modifiche DOM all'interno dello stesso metodo JavaScript. Puoi provare ad aspettare con Timeout o usando jQuery – red13
Uso di jQuery è di 2 righe di codice. Ma sta scrivendo in puro-javascript Non so perché, ma ha le sue ragioni, penso che –