2012-03-22 13 views
120

मेरे पास एक HTML फॉर्म है जहां मैं कई बटन का उपयोग करता हूं। समस्या यह है कि कोई फर्क नहीं पड़ता कि मैं कौन सा बटन क्लिक करता हूं, बटन सबमिट किया जाएगा भले ही बटन "सबमिट" प्रकार न हो। जैसे बटन जैसे: <button>Click to do something</button>, परिणाम जमा करने के परिणामस्वरूप।बटन पर फॉर्म ऑटो सबमिट करें

इन बटनों में से प्रत्येक के लिए e.preventDefault() करना बहुत दर्दनाक है।

मैं jQuery और jQuery UI का उपयोग करता हूं और वेबसाइट HTML5 में है।

क्या इस स्वचालित व्यवहार को अक्षम करने का कोई तरीका है?

उत्तर

277

<button>Click to do something</button>जैसे बटन सबमिट बटन हैं।

इसे बदलने के लिए type="button" सेट करें। type="submit" डिफ़ॉल्ट है (specified by the HTML recommendation के रूप में)।

+5

व्यर्थ मेरी कोड फिक्सिंग एक दिन की नींद खो प्रस्तुत उपयोग करें, क्योंकि मैं इस सरल विनिर्देश नहीं पता था ! – palerdot

+4

पैलेरडॉट की धारणा को प्रतिबिंबित करते हुए, खुशी हुई कि मुझे एक त्वरित Google खोज के बाद यह नोट मिला और घंटे नहीं मारा। बहुत पता है, बहुत धन्यवाद। – brooklynsweb

+0

यह जानना बहुत अच्छा है! –

5

<button> वास्तव में सबमिट बटन हैं, उनके पास कोई अन्य मुख्य कार्यक्षमता नहीं है। आपको टाइप टू बटन सेट करना होगा।
लेकिन यदि आप नीचे अपना ईवेंट हैंडलर बांधते हैं, तो आप सभी बटनों को लक्षित करते हैं और प्रत्येक बटन के लिए इसे मैन्युअल रूप से करने की ज़रूरत नहीं है!

$('form button').on("click",function(e){ 
    e.preventDefault(); 
}); 
+0

यह 'e.preventDefault();' है। – hlcs

+0

धन्यवाद, थोड़े से याद आया कि 5 साल पहले ;-) –

11

आप जो चाहते हैं उसे करना मुश्किल नहीं है। तुम बस वापसी का उपयोग कर की कोशिश कर सकते झूठी ऐसे ही (हर DOM तत्व की झूठी ओवरराइड डिफ़ॉल्ट व्यवहार वापसी):

myform.onsubmit=function() 
{ 
    //do what you want; 
    return false; 
} 

और फिर myform.submit का उपयोग कर अपने प्रपत्र सबमिट()

या वैकल्पिक रूप से:

mybutton.onclick=function() 
{ 
    //do what you want; 
    return false; 
} 

हालांकि मुझे लगता है कि इनपुट प्रकार = "बटन"/बटन प्रकार = "बटन" आपका फॉर्म सबमिट नहीं करेगा और आप बिना किसी समस्या के उनका उपयोग कर सकते हैं।

-1

आप विशेषता के रूप में इनपुट के लिए सीधे जोड़ना चाहते हैं, इस

onclick="return false;" 

<input id = "btnPlay" type="button" onclick="return false;" value="play" /> 

इस पाएगा प्रपत्र व्यवहार

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