ENTER कुंजी के लिए प्रत्येक कीस्ट्रोक को कैप्चर करने और परीक्षण करने का ओवरकिल वास्तव में मुझे परेशान करता है, इसलिए मेरा समाधान निम्न ब्राउज़र व्यवहार पर निर्भर करता है:
ENTER दबाने से a ट्रिगर होगा पर सबमिट बटन पर क्लिक इवेंट (IE11, Chrome 38, FF 31 में परीक्षण किया गया) ** (रेफरी: http://mattsnider.com/how-forms-submit-when-pressing-enter/ ) पर क्लिक करने से ईवेंट
तो मेरा समाधान मानक सबमिट बटन (यानी <input type="submit">
) ताकि उपरोक्त व्यवहार विफल हो जाए क्योंकि ENTER दबाए जाने पर जादुई क्लिक करने के लिए कोई सबमिट बटन नहीं है। इसके बजाय, मैं jQuery की .submit()
विधि के माध्यम से फ़ॉर्म जमा करने के लिए एक नियमित बटन पर एक jQuery क्लिक हैंडलर का उपयोग करता हूं ।
<form id="myform" method="post">
<input name="fav_color" type="text">
<input name="fav_color_2" type="text">
<button type="button" id="form-button-submit">DO IT!</button>
</form>
<script>
$('#form-button-submit').click(function(){
$('#myform').submit();
});
</script>
डेमो: http://codepen.io/anon/pen/fxeyv?editors=101
** यह व्यवहार लागू नहीं होता है यदि फॉर्म में केवल 1 इनपुट फ़ील्ड है और वह फ़ील्ड 'टेक्स्ट' इनपुट है; इस स्थिति में फॉर्म को एचआर की पर प्रस्तुत किया जाएगा भले ही कोई भी जमा बटन एचटीएमएल मार्कअप में मौजूद न हो (जैसे खोज क्षेत्र)। यह 90 के दशक से मानक ब्राउज़र व्यवहार है।