2013-04-17 8 views
10

मेरे पास एक टेक्स्टफील्ड के साथ एक फॉर्म है और जब मैं दबाता हूं तो दर्ज करते समय ब्राउज़र फ़ील्ड चयनित होने पर ब्राउज़र डिफ़ॉल्ट फॉर्म को अक्षम करने का प्रयास कर रहा है।सबमिट करें अक्षम करें

$('#recaptcha_response_field').keydown(function(event) { if (event.keyCode == 13) { 
    event.preventDefault(); 
    event.stopPropagation(); 
    event.stopImmediatePropagation(); 
    alert("You Press ENTER key"); 
    return false; 
    } 
}); 

वर्तमान में हो रही है "आप ENTER कुंजी दबाएँ" और डिफ़ॉल्ट व्यवहार को ओवरराइड नहीं कर रहा है।

+1

इनपुट के keydown घटना का उपयोग न करें, फार्म की घटना प्रस्तुत का उपयोग करें। –

+1

डुप्लिकेट http://stackoverflow.com/questions/585396/how-to-prevent-enter-keypress-to-submit-a-web-form Pls इसे सबमिट करने से पहले अपने प्रश्न को Google से पूछें। इससे आपको मूल प्रश्न प्रदान किया गया होगा जिसका उत्तर पहले से ही दिया जा चुका है। – iAmClownShoe

+1

'preventDefault' बिल्कुल पर्याप्त है। न ही आपको प्रचार को रोकने की जरूरत है, न ही झूठी वापसी। – Bergi

उत्तर

20

इस प्रयास करें:

$(document).on("keypress", 'form', function (e) { 
    var code = e.keyCode || e.which; 
    if (code == 13) { 
     e.preventDefault(); 
     return false; 
    } 
}); 

यह फार्म keypress

DEMO HERE

+0

काम नहीं करता है, सबमिट करने के बाद भी – user2288298

+0

कीपूट आग को रीडायरेक्ट करता है और इसलिए, आप पहले से ही होने वाले डिफ़ॉल्ट व्यवहार को अक्षम नहीं कर सकते हैं। – iAmClownShoe

+0

@ user2288298 कोड अपडेट किया गया। एक बार कोशिश करें .. –

2

पर प्रस्तुत ऊपर समाधान में से कोई भी आप के लिए काम कर रहा है को रोकने जाएगा, और आप जावास्क्रिप्ट का उपयोग कर रहे वैसे भी, क्यों आप बटन प्रकार का उपयोग 'बटन' <input type='button'> के रूप में नहीं करते हैं और इसे जावास्क्रिप्ट

का उपयोग करके सबमिट करें
1

यू इस स्क्रिप्ट का उपयोग पूरी तरह से दर्ज करने से रोकने के लिए कर सकता है।

<script type="text/javascript"> 
     $(document).on("keypress", 'form', function (e) { 
      if (e.target.className.indexOf("allowEnter") == -1) { 
       var code = e.keyCode || e.which; 
       if (code == 13) { 
        e.preventDefault(); 
        return false; 
       } 
      } 
     }); 
    </script> 

आप और classname डाल जो

8

मैं इस पाया दर्ज उपयोग करने की आवश्यकता को नियंत्रित करने के लिए यह मेरे लिए काम करता है।

<input type="text" name="somename" id="someid" value="" onkeypress="return event.keyCode!=13"> 
+0

बस सरल, धन्यवाद! –

3

स्क्रिप्ट को टेक्स्टरीए जैसे अन्य तत्वों पर एंटर कुंजी को अवरुद्ध करने से रोकने के लिए। "फॉर्म" से "इनपुट" में लक्ष्य बदलें।

$(document).on("keypress", "input", function (e) { 
 
    var code = e.keyCode || e.which; 
 
    if (code == 13) { 
 
     e.preventDefault(); 
 
     return false; 
 
    } 
 
});

संबंधित मुद्दे