मैं जावास्क्रिप्ट फ़ंक्शन में सबमिट करने के लिए एक फॉर्म बना रहा हूं। मैंने फ़ंक्शन को एक चुनिंदा तत्व के आदान-प्रदान ईवेंट में बाध्य किया। घटना क्रोम और फ़ायरफ़ॉक्स में ठीक काम करती है, मैंने इसका परीक्षण किया, यह फ़ंक्शन को कॉल करता है। लेकिन समस्या है; जबकि क्रोम फॉर्म जमा करता है, फ़ायरफ़ॉक्स नहीं करता है। क्या आप मदद कर सकतें है? धन्यवाद।फ़ायरफ़ॉक्स पर जावास्क्रिप्ट से फ़ॉर्म सबमिट नहीं कर सकता
जावास्क्रिप्ट समारोह:
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();
};
चयन इनपुट:
<select id="statementSelect" name="statementSelect" class="select-miles select-miles-medium spacing-right-10" onchange="getStatementDetails()">
संपादित करें: मैं सुझाव पोस्ट पढ़ सकते हैं और यह कोशिश की है। अभी भी काम नहीं कर रहा है। समारोह नवीनतम स्थिति:
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();
};
ऐसा लगता है कि यह एक सही कोड है, इतना लंबा है कि यह आवश्यक है लेकिन इसे काम करना चाहिए। यदि आप कंसोल एक त्रुटि फेंकता है तो आप हमें बता सकते हैं? फ़ायरफ़ॉक्स में, एएलटी + एफ 2 सुपरडिफायर बार खोलता है, और टूल बटन में है जहां आपको इंस्पेक्टर, कंसोल इत्यादि मिलते हैं –
शायद फ़ायरफ़ॉक्स उसी जावास्क्रिप्ट विधि में डीओएम परिवर्तनों को फ्लश नहीं करता है। आप टाइमआउट के साथ प्रतीक्षा करने का प्रयास कर सकते हैं या jQuery – red13
का उपयोग कर jQuery का उपयोग कोड की 2 पंक्तियां हैं। लेकिन वह शुद्ध जावास्क्रिप्ट में लिख रहा है, मुझे नहीं पता क्यों, लेकिन उसके कारण हैं कि मुझे लगता है कि –