javascript - क्या मैं एक<बटन> फॉर्म सबमिट नहीं कर सकता?




jquery html (5)

ईमानदारी से, मुझे अन्य उत्तरों पसंद हैं। आसान और जेएस में जाने की जरूरत नहीं है। लेकिन मैंने देखा कि आप jQuery के बारे में पूछ रहे थे। तो पूर्णता के लिए, jQuery में यदि आप .click () हैंडलर के साथ झूठी वापसी करते हैं, तो यह विजेट की डिफ़ॉल्ट कार्रवाई को अस्वीकार कर देगा।

एक उदाहरण के लिए यहां देखें (और अधिक उपहार भी)। यहां दस्तावेज़ भी है

संक्षेप में, अपने नमूना कोड के साथ, ऐसा करें:

<script type="text/javascript">
    $('button[type!=submit]').click(function(){
        // code to cancel changes
        return false;
    });
</script>

<a href="index.html"><button>Cancel changes</button></a>
<button type="submit">Submit</button>

इसके अतिरिक्त लाभ के रूप में, आप एंकर टैग से छुटकारा पा सकते हैं और बस बटन का उपयोग कर सकते हैं।

मेरे पास 2 बटन के साथ एक फॉर्म है

<a href="index.html"><button>Cancel changes</button></a>

<button type="submit">Submit</button>

मैं भी उन पर jQuery यूआई के बटन का उपयोग करता हूं, बस इस तरह

$('button').button();

हालांकि, पहला बटन भी फॉर्म जमा करता है। मैंने सोचा होगा कि अगर इसमें type="submit" , तो यह नहीं होगा।

जाहिर है मैं यह कर सकता था

$('button[type!=submit]').click(function(event) { event.stopPropagation(); });

लेकिन क्या कोई तरीका है कि मैं उस बैक बटन को जावास्क्रिप्ट हस्तक्षेप के बिना फॉर्म सबमिट करने से रोक सकता हूं?

ईमानदार होने के लिए, मैंने केवल एक बटन का उपयोग किया ताकि मैं इसे jQuery यूआई के साथ स्टाइल कर सकूं। मैंने लिंक पर button() को कॉल करने का प्रयास किया और यह उम्मीद के अनुसार काम नहीं किया (काफी बदसूरत लग रहा था!)।


बस पुराने पुराने एचटीएमएल का प्रयोग करें:

<input type="button" value="Submit" />

यदि आप चाहें तो इसे एक लिंक के विषय के रूप में लपेटें:

<a href="http://somewhere.com"><input type="button" value="Submit" /></a>

या यदि आप तय करते हैं कि आप जावास्क्रिप्ट को कुछ अन्य कार्यक्षमता प्रदान करना चाहते हैं:

<input type="button" value="Cancel" onclick="javascript: someFunctionThatCouldIncludeRedirect();"/>


type विशेषता को सेट किए बिना, आप अपने onclick हैंडलर से भी false वापसी कर सकते हैं, और onclick विशेषता को onclick="return onBtnClick(event)" घोषित करें।


<form onsubmit="return false;">
   ...
</form>




button