मुझे एएसपी.नेट में निम्न समस्या है: एक ऐसा फॉर्म है जिसमें एक टेक्स्टबॉक्स और उसके बगल में एक बटन है जिसे बॉक्स भरने के बाद उपयोगकर्ता द्वारा दबाया जाना चाहिए (http://www.burnthespam.info पर नमूना, "अपना एक चुनें" पर क्लिक करें, या पॉपअप में रीकैप्चा का उपयोग करते समय)। अक्सर, इसके बजाय, उपयोगकर्ता फॉर्म सबमिट करने के लिए ENTER
कुंजी दबाते हैं।टेक्स्टबॉक्स में एन्टर बटन को संभालना, एएसपी.नेट
इससे बटन पर क्लिक ईवेंट ट्रिगर नहीं होता है और संभवतः एक अप्रत्याशित व्यवहार का कारण बनता है। बर्नशैम में, मैंने टेक्स्ट बॉक्स के अंदर डेटा जांचने के लिए "कोशिश की" कोशिश की है (लेकिन अब अगर आप ENTER
दबाकर कुछ अलग करते हैं तो यह आपको दबाएगा) इसे काम करने के लिए।
क्या आपको पता है कि ENTER
कुंजी के साथ फ़ॉर्म सबमिशन को संभालने का कोई दूसरा तरीका है, या जावास्क्रिप्ट स्निपेट है कि जब आप ENTER
दबाते हैं तो मुझे बटन पसंद होता है?
संपादित
मैं सर्वर साइड, यानी पर महत्वपूर्ण घटना ENTER हैंडल करना चाहते हैं। मैं पहले से ही
protected void button_Click(object sender, EventArgs e)
{
Response.Redirect(...);
}
मुझे लगता है कि विधि न केवल नाम से जाना जब मैं बटन का उपयोग कर प्रपत्र सबमिट (क्लिक करें या इसे साथ अंतरिक्ष पर प्रकाश डाला), लेकिन एक उपयोगकर्ता ENTER
प्रेस भी जब जब पाठ बॉक्स
संपादित 2
क्या आप जानते हैं अगर यह प्रोग्राम के रूप में संभव है Javascript में एक बटन पर क्लिक करें? शायद फ़िशिंग/स्पैमिंग को रोकने के लिए संभव नहीं है (उदाहरण के लिए फेसबुक देखें और "दोस्तों को साझा करें") लेकिन मैं अभी भी पूछना चाहूंगा ...
मैं सिर्फ देखा है कि आपके कोड, थोड़ा संशोधनों के साथ, बस IE8 द्वारा नजरअंदाज कर दिया जाता है, जबकि में फ़ायरफ़ॉक्स काम करता है। क्या यह इस तथ्य के कारण हो सकता है कि टेक्स्टबॉक्स एक गाया है: गाया AJAX WebWidgets से टेक्स्टबॉक्स और केवल पोस्टबैक के बाद दिखाई देता है? मैंने डबल-चेक किया है कि जेनरेट किया गया HTML बटन क्लिक के लिए एक से मेल खाता है, और मुझे ईवेंट सत्यापन अक्षम करने की आवश्यकता नहीं है (क्योंकि एफएफ काम करता है), लेकिन मुझे अभी भी एक खाली HTTP (एफएफ़ की तरह AJAX नहीं) पोस्टबैक –
है अजीब। यदि जावास्क्रिप्ट वहां है, और यह बटन पर जावास्क्रिप्ट जैसा दिखता है और बटन काम करता है, तो कोई सोचता है कि टेक्स्टबॉक्स पर लिपि का एक ही परिणाम होना चाहिए। क्या यह संभव है कि गैया टेक्स्टबॉक्स ऑन-ऑनडाउन ईवेंट पर भी पंजीकरण कर रहा है और इससे वास्तव में इनलाइन स्क्रिप्ट को कॉल नहीं किया जा रहा है। आपको स्क्रिप्ट डीबगर का प्रयास करना चाहिए और देखें कि डोपॉस्टबैक विधि वास्तव में कहां जा रही है या नहीं। –
इसका उपयोग करने की कोशिश कर रहा है ... मैंने इसे "अगर (event.keyCode == 13) {अलर्ट ('go');}" ... 'go' अलर्ट बॉक्स हर बार पॉप अप करता है, तो इसे ऑनकीवेंट को बदलकर काम कर रहा है। दर्ज क्लिक किया गया है। लेकिन जब मैं पृष्ठ में अपना मूल कोड वापस डालता हूं तो बस रीफ्रेश होता है और लिंकबटन के क्लिक ईवेंट को कभी नहीं कहा जाता है। कोई विचार? (मेरा कोड आपके उदाहरण के लगभग समान है, सिवाय इसके कि मेरे पास केवल एक लिंकबटन है जो टेक्स्टबॉक्स दोनों कॉल कर रहे हैं) मैं IE9 में इसका परीक्षण कर रहा हूं। – cavillac