जावास्क्रिप्ट का उपयोग करके फॉर्म कैसे जमा करें?


190

मेरे पास आईडी के साथ एक फॉर्म है theFormजिसमें निम्नलिखित डीब होता है जिसमें सबमिट बटन होता है:

<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>

जब क्लिक किया जाता है, तो फ़ंक्शन placeOrder()कहा जाता है। फ़ंक्शन उपरोक्त div के आंतरिक HTML को "प्रोसेसिंग ..." बदलता है (इसलिए सबमिट बटन अब चला गया है)।

उपरोक्त कोड काम करता है, लेकिन अब समस्या यह है कि मुझे सबमिट करने के लिए फॉर्म नहीं मिल सकता है! मैंने इसे placeOrder()फंक्शन में डालने की कोशिश की है:

document.theForm.submit();

लेकिन वह काम नहीं करता है।

मैं फॉर्म कैसे जमा कर सकता हूं?


3
मुझे लगता है कि <form>आपके पृष्ठ पर कहीं कोई टैग है।
जस्टिन .०।

मुझे कोड में कोई <form> दिखाई नहीं दे रहा है।
डॉटोराइ

1
आपका क्या मतलब है: फ़ंक्शन उपरोक्त div के आंतरिक HTML को "प्रोसेसिंग ..." बदलता है (इसलिए सबमिट बटन अब चला गया है)। और क्या आप उस तर्क को साझा करना चाहेंगे। वैसे अगर आपके पास एक सबमिट बटन है (नाम के साथ कहीं नीचे = सबमिट करें), theform.submit () फ़ंक्शन काम नहीं करेगा। कृपया अपने कोड में <form> टैग जोड़कर प्रश्न को स्पष्ट करें। आप jsfiddle.net
sakhunzai

5
... अगर आपके पास एक सबमिट बटन है (कहीं नाम के साथ नीचे = सबमिट करें) ... तो इससे मेरी समस्या हल हो गई! यह <इनपुट प्रकार = "बटन" नाम = "सबमिट" ... था, लेकिन फिर भी जावास्क्रिप्ट को फॉर्म भेजने से रोक रहा था।
निकोले इवानोव

जवाबों:


136

nameअपने फ़ॉर्म की विशेषता सेट करें "theForm"और आपका कोड काम करेगा।


14
यह कुछ के लिए सुपर-स्पष्ट लग सकता है, लेकिन मेरे पास नाम और आईडी "सबमिट" के साथ एक बटन था, और document.theForm.submit()एक त्रुटि की सूचना दी। एक बार जब मैंने अपना बटन बदल लिया, तो कोड ने पूरी तरह से काम किया।
जोनाथन

1
@ जोनाथन आपके पास बटन का नाम क्या है? Coz, के रूप में api.jquery.com/submit रूप के बाल तत्वों को इनपुट नाम या आईडी का उपयोग नहीं करना चाहिए जो किसी प्रपत्र के गुणों के साथ विरोध करता है।
सिप

106

आप उपयोग कर सकते हैं...

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

... लेकिन प्रतिस्थापित नहीं करते innerHTML। आप फ़ॉर्म को छिपा सकते हैं और फिर एक संसाधन डाल सकते हैं ...span जो इसके स्थान पर दिखाई देगा

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

form.style.display = 'none';

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

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

form.parentNode.insertBefore(processing, form);

आप इसे कैसे बताते हैं कि फॉर्म कहां भेजें? उदाहरण के लिए, मेरे मामले में, मैं चाहता हूं कि मेरे लिए ईमेल की गई सामग्री
कॉडबगस्टीन

@ मैं आपको शायद सर्वर-साइड कोड आपके लिए करना चाहता हूं।
एलेक्स

@CodyBugstein action="/{controller}/{action-method}" method="post"आप पोस्ट करने के लिए कोशिश कर रहे हैं के रूप का सेट गुण।
बार्न्स

2
जैसा कि मेरे फॉर्म का नाम प्रिंटऑफ़र्स है और साथ ही आईडी भी है। document.getElementById('printoffersForm').submit();लेकिन मैं मुझे त्रुटि प्रस्तुत करता है एक समारोह नहीं है
माधुरी पटेल

@ MadhuriPatel हो सकता है कि आपका सबमिट बटन भी सबमिट नाम का हो? उत्तर देखें stackoverflow.com/questions/833032/…
rbassett

37

यह मेरे मामले में पूरी तरह से काम करता है।

document.getElementById("form1").submit();

इसके अलावा, आप इसे नीचे के रूप में फ़ंक्शन में उपयोग कर सकते हैं:

function formSubmit()
{
     document.getElementById("form1").submit();
} 

क्या यह एक inputटैग से फ़ॉर्म मान जमा करेगा ?
सिमैनिकाज

@ ट्रॉय हां, यह इनपुट टैग से फॉर्म वैल्यू सबमिट करेगा।
चिन्तन थुम्मर

2
@ChintanThummar और फिर आप document.getElementById ("form1") का उपयोग करके फ़ॉर्म सबमिट कर सकते हैं । ऑनसुबमिट = फ़ंक्शन () {// आप यहाँ Ajax कोड का उपयोग कर सकते हैं, पेज सबमिट किए बिना फॉर्म सबमिट करें}
शुभम कुमार

मैंने कोशिश नहीं की है, लेकिन यह मेरे द्वारा प्रदान की गई की तुलना में बल्लेबाज दिखता है। धन्यवाद;)
चिंतन थुम्मर

12
document.forms["name of your form"].submit();

या

document.getElementById("form id").submit();

आप इनमें से किसी को भी आजमा सकते हैं..यह निश्चित रूप से काम करेगा ..


5

यह एक पुरानी पोस्ट है लेकिन मैं फॉर्म के nameअंदर टैग का उपयोग किए बिना फॉर्म सबमिट करने के तरीके को छोड़ दूंगा :

एचटीएमएल

<button type="submit" onClick="placeOrder(this.form)">Place Order</button>

जे एस

function placeOrder(form){
    form.submit();
}

आशा है कि यह समाधान किसी और की मदद कर सकता है। TQ


3

एचटीएमएल

<!-- change id attribute to name  -->

<form method="post" action="yourUrl" name="theForm">
    <button onclick="placeOrder()">Place Order</button>
</form>

जावास्क्रिप्ट

function placeOrder () {
    document.theForm.submit()
}

4
कृपया अपने उत्तर में कुछ स्पष्टीकरण जोड़ें।
सम्पदा

यह पहले से दिए गए उत्तरों की गुणवत्ता में सुधार नहीं करता है।
रैंडी

2

यदि आपके फॉर्म में कोई आईडी नहीं है, लेकिन उसका नाम जैसे फ़ॉर्म है, तो आप इसे जमा करने के लिए नीचे दिए गए विवरण का उपयोग कर सकते हैं:

document.getElementsByClassName("theForm")[0].submit();

ऊपर एक ही वर्ग के नाम के साथ और क्या रूप हैं?
जैक १

0

मैं अपनी वेबसाइट पर छिपे हुए सरल फॉर्म का उपयोग करके एक आसान संकल्प के साथ आया हूं, उसी जानकारी के साथ जिसमें उपयोगकर्ता लॉग इन करते हैं। उदाहरण यदि आप चाहते हैं कि कोई उपयोगकर्ता इस फ़ॉर्म पर लॉग इन हो तो आप नीचे दिए गए फ़ॉर्म में ऐसा कुछ जोड़ सकते हैं।

<input type="checkbox" name="autologin" id="autologin" />

जहाँ तक मुझे पता है मैं एक फॉर्म को छिपाने और लिंक पर क्लिक करके सबमिट करने वाला पहला व्यक्ति हूँ। जानकारी के साथ एक छिपा हुआ फ़ॉर्म सबमिट करने वाला लिंक है। 100% सुरक्षित नहीं है अगर आपको अपनी वेबसाइट पर ऑटो लॉगिन के तरीके पसंद नहीं हैं जिसमें पासवर्ड एक छिपे हुए फॉर्म पासवर्ड टेक्स्ट क्षेत्र पर बैठे हैं ......

ठीक है तो यहाँ काम है। कहते हैं $siteidकि खाता है और $sitepwपासवर्ड है।

सबसे पहले अपनी php स्क्रिप्ट में फॉर्म बनाएं अगर आपको html पसंद नहीं है तो कम से कम डेटा का उपयोग करें और एक छिपे हुए रूप में मूल्य में गूंजें। मैं बस एक php मूल्य का उपयोग करता हूं और कहीं भी मैं प्रतिरूप बटन के बगल में चाहता हूं जैसा कि आप इसे देख सकते हैं।

PHP प्रपत्र मुद्रित करने के लिए

$hidden_forum = '
<form id="alt_forum_login" action="./forum/ucp.php?mode=login" method="post" style="display:none;">
    <input type="text" name="username" id="username" value="'.strtolower($siteid).'" title="Username" />
    <input type="password" name="password" id="password" value="'.$sitepw.'" title="Password" />
</form>';

PHP और लिंक फार्म जमा करने के लिए

<?php print $hidden_forum; ?>
<pre><a href="#forum" onClick="javascript: document.getElementById('alt_forum_login').submit();">Forum</a></pre>

सही है कि आपको फॉर्म जमा करने की आवश्यकता है, लेकिन लिंक मेरे अभिप्रमाणन सॉर्ट में नहीं दिखाई देगा, लेकिन एक onclick या href = javascript: document.getElementById ('alt_forum_login') सबमिट करें। ()
ofofTalisman

सवाल जावास्क्रिप्ट के बारे में है, php कोड की कोई आवश्यकता नहीं है
Shedokan

0

आप जावास्क्रिप्ट का उपयोग करके फ़ॉर्म सबमिट करने के लिए नीचे दिए गए कोड का उपयोग कर सकते हैं;

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

-1
<html>
<body>

<p>Enter some text in the fields below, then press the "Submit form" button to submit the form.</p>

<form id="myForm" action="/action_page.php">
  First name: <input type="text" name="fname"><br>
  Last name: <input type="text" name="lname"><br><br>
  <input type="button" onclick="myFunction()" value="Submit form">
</form>

<script>
function myFunction() {
    document.getElementById("myForm").submit();
}
</script>

</body>
</html>

क्या आप एक उचित उत्तर साझा कर सकते हैं जिसमें केवल प्रासंगिक भाग और अगली बार कुछ स्पष्टीकरण हो?
निको हसे

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.