जवाबों:
सबसे अच्छा तरीका एक उपयुक्त इनपुट टैग सम्मिलित करना है:
<input type="submit" value="submit" />
<form id="form-id">
<button id="your-id">submit</button>
</form>
var form = document.getElementById("form-id");
document.getElementById("your-id").addEventListener("click", function () {
form.submit();
});
यदि आप पहले से ही ऐसा नहीं करते हैं, तो किसी DOMContentLoaded
घटना के द्वारा बाद वाले जावास्क्रिप्ट कोड को एक घटना के load
लिए चुनें (केवल पिछड़े कांपिटिव के लिए चुनें ):
window.addEventListener("DOMContentLoaded", function () {
var form = document.... // copy the last code block!
});
onclick
लिंक और id
फ़ॉर्म में एक विशेषता जोड़ें :
<form id="form-id">
<a href="#" onclick="document.getElementById('form-id').submit();"> submit </a>
</form>
आप जो भी रास्ता चुनते हैं, आपके पास formObject.submit()
अंततः कॉल होता है (जहां टैग formObject
का DOM ऑब्जेक्ट है <form>
)।
आपको इस तरह के एक इवेंट हैंडलर को भी बांधना होगा, जो कॉल करता है formObject.submit()
, इसलिए जब उपयोगकर्ता किसी विशिष्ट लिंक या बटन पर क्लिक करता है तो उसे कॉल किया जाता है। इसके दो तरीके हैं:
अनुशंसित: डोम ऑब्जेक्ट के लिए एक घटना श्रोता को बांधें।
// 1. Acquire a reference to our <form>.
// This can also be done by setting <form name="blub">:
// var form = document.forms.blub;
var form = document.getElementById("form-id");
// 2. Get a reference to our preferred element (link/button, see below) and
// add an event listener for the "click" event.
document.getElementById("your-id").addEventListener("click", function () {
form.submit();
});
अनुशंसित नहीं: इनलाइन जावास्क्रिप्ट डालें। इस तकनीक के अनुशंसित नहीं होने के कई कारण हैं। एक प्रमुख तर्क यह है कि आप स्क्रिप्ट (JS) के साथ मार्कअप (HTML) मिलाते हैं। कोड असंगठित और बल्कि अप्राप्य हो जाता है।
<a href="#" onclick="document.getElementById('form-id').submit();">submit</a>
<button onclick="document.getElementById('form-id').submit();">submit</button>
अब, हम उस बिंदु पर आते हैं जिस पर आपको यूआई तत्व के लिए फैसला करना होगा जो सबमिट () कॉल को ट्रिगर करता है।
एक बटन
<button>submit</button>
एक लिंक
<a href="#">submit</a>
इवेंट श्रोता को जोड़ने के लिए पूर्वोक्त तकनीकों को लागू करें।
name="submit"
, तो submit()
आपके फॉर्म की विधि सुलभ नहीं होगी।
यदि आप jQuery का उपयोग करते हैं और इनलाइन समाधान की आवश्यकता होगी, तो यह बहुत अच्छा काम करेगा;
<a href="#" onclick="$(this).closest('form').submit();">submit form</a>
इसके अलावा, आप प्रतिस्थापित करना चाह सकते हैं
<a href="#">text</a>
साथ में
<a href="javascript:void(0);">text</a>
इसलिए लिंक क्लिक करते समय उपयोगकर्ता आपके पृष्ठ के शीर्ष पर स्क्रॉल नहीं करता है।
href="#"
और फिर jquery के साथ उन सभी लिंक का चयन करता हूं और ईवेंट हैंडलर e.preventDefault()
में कॉल click
करता हूं ताकि ब्राउज़र स्क्रॉल न हो।
आप फार्म और लिंक कुछ आईडी दे सकते हैं और फिर onclick
लिंक और submit
फॉर्म की घटना के लिए सदस्यता लें :
<form id="myform" action="" method="POST">
<a href="#" id="mylink"> submit </a>
</form>
और फिर:
window.onload = function() {
document.getElementById('mylink').onclick = function() {
document.getElementById('myform').submit();
return false;
};
};
मैं आपको फॉर्म सबमिट करने के लिए सबमिट बटन का उपयोग करने की सलाह दूंगा क्योंकि यह मार्कअप शब्दार्थ का सम्मान करता है और यह जावास्क्रिप्ट अक्षम वाले उपयोगकर्ताओं के लिए भी काम करेगा।
HTML और CSS - कोई जावास्क्रिप्ट सॉल्यूशन नहीं
अपने बटन को बूटस्ट्रैप लिंक की तरह बनाएं
HTML:
<form>
<button class="btn-link">Submit</button>
</form>
सीएसएस:
.btn-link {
background: none;
border: none;
padding: 0px;
color: #3097D1;
font: inherit;
}
.btn-link:hover {
color: #216a94;
text-decoration: underline;
}
यह किसी भी विशेष कार्य के बिना अच्छी तरह से काम करता है। साथ ही php के साथ लिखना बहुत आसान है।<input onclick="this.form.submit()"/>
<input onclick="this.form.submit()"> Some Text</input>
<form id="mailajob" method="post" action="emailthijob.php">
<input type="hidden" name="action" value="emailjob" />
<input type="hidden" name="jid" value="<?php echo $jobid; ?>" />
</form>
<a class="emailjob" onclick="document.getElementById('mailajob').submit();">Email this job</a>
document.getElementById("theForm").submit();
यह मेरे मामले में सही काम करता है।
आप इसे फंक्शन में भी इस्तेमाल कर सकते हैं,
function submitForm()
{
document.getElementById("theForm").submit();
}
अपनी फॉर्म आईडी के रूप में "theForm" सेट करें। हॊ गया।
यहां आपके प्रश्न का सबसे अच्छा समाधान है: फॉर्म के अंदर आपके पास ये कोड हैं:
<li><a href="#">Singup</a></li>
<button type="submit" id="haha"></button>
CSS फ़ाइल में, यह करें:
button{
display: none;
}
जेएस में आप यह करते हैं:
$("a").click(function(){
$("button").trigger("click");
})
तुम वहाँ जाओ।
target="_blank"
काम नहीं करता।