मेरे पास एक फॉर्म के भीतर एक टेबल है। तालिका में कुछ फॉर्म फ़ील्ड हैं, लेकिन तालिका के बाहर फॉर्म फ़ील्ड हैं (लेकिन अभी भी फॉर्म के भीतर)।एंटर/रिटर्न कुंजी रोकें एक फॉर्म सबमिट करना
मुझे पता है कि एंटर और रिटर्न परंपरागत रूप से कुंजीपटल के माध्यम से एक फॉर्म जमा करने के लिए उपयोग किया जाता है, लेकिन मैं इस व्यवहार को तालिका के भीतर फ़ील्ड के लिए रोकना चाहता हूं। उदाहरण के लिए, यदि मैं तालिका के भीतर एक फ़ील्ड केंद्रित करता हूं और एंटर/रिटर्न दबाता हूं, तो कुछ भी नहीं होता है। यदि मैं तालिका के बाहर एक फ़ील्ड केंद्रित करता हूं (लेकिन फिर भी फॉर्म के भीतर) तो इसके लिए सामान्य के रूप में सबमिट करना होगा।
मेरे पास एक jQuery प्लगइन है जो इस तालिका को लक्षित करता है। सरलीकृत, यह क्या मैं इतनी दूर की कोशिश की है है:
base.on('keydown', function(e) {
if (e.keyCode == 13) {
e.stopPropagation();
return false;
}
});
कहाँ base
तालिका jQuery वस्तु है। यह मेरी प्लगइन की init
विधि के भीतर है। हालांकि, एंटर मारना अभी भी फॉर्म सबमिट करता है।
मैं गलत कहां जा रहा हूं?
संपादित करें: कुछ सरल HTML:
<form method="" action="">
<input type="text" /><!--this should still submit on Enter-->
<table>
<tbody>
<tr>
<td>
<input type="text" /><!--this should NOT submit on Enter-->
</td>
</tr>
</tbody>
</table>
</form>
की संभावित डुप्लिकेट http://stackoverflow.com/questions/1563062/prevent-form-submission-with-enter-key और http://stackoverflow.com/questions/895171/prevent-users-from -सबमिटिंग-फॉर्म-बाय-हिटिंग-एंटर –
आपको उल्लेख करना चाहिए कि 'बेस' क्या है, यह एक jquery ऑब्जेक्ट की तरह दिखता है लेकिन यह [नामकरण सम्मेलनों] का पालन नहीं करता है (http://stackoverflow.com/q/10204606/ 601,179)। – gdoron
@gdoron मैंने किया था। पहले कोड ब्लॉक के बाद यह पहली वाक्य है! "* जहां 'बेस' तालिका jQuery ऑब्जेक्ट है। *" –