jquery

2011-06-09 5 views
10

का उपयोग कर क्लिक ईवेंट पर फॉर्म सबमिट करें तो क्या कोई यह बता सकता है कि इनमें से कोई भी विकल्प वास्तव में फ़ॉर्म क्यों सबमिट नहीं करेगा? मैं कोशिश करते हैं और यह पता लगाने की क्यों मैं एक क्लिक करें घटना का उपयोग कर सबमिट करें और प्रस्तुत()jquery

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> 
<script type="text/javascript"> 
$(function() { 
    $('#submitButton').click(function(e) { 
     e.preventDefault(); 
     $("#testForm").submit(); 
    }); 

    $('#submitLink').click(function(e) { 
     e.preventDefault(); 
     $("#testForm").submit(); 
    }); 
}); 
</script> 
</head> 

<body> 
<form action="javascript:alert('submitted');" method="post" id="testForm"> 
    <label>Name</label> 
    <input type="text" name="name" value="" /> 
    <input type="submit" name="submit" value="Submit" id="submitButton" /> 
    <p><a href="#" id="submitLink">Submit Form</a></p> 
</form> 

</body> 
</html> 

धन्यवाद करने के लिए इस प्रपत्र प्राप्त नहीं कर पा रहे और अधिक जटिल कुछ करने के लिए कोशिश कर रहा हूँ लेकिन मैं इसे इस के लिए नीचे उबला हुआ है !

उत्तर

5

यदि आपके पास फॉर्म एक्शन और इनपुट प्रकार = फ़ॉर्म टैग के अंदर सबमिट है, तो यह पुराने तरीके से सबमिट करने जा रहा है और मूल रूप से पृष्ठ को रीफ्रेश करेगा। AJAX प्रकार लेनदेन करते समय यह वांछित प्रभाव नहीं है।

कार्रवाई को हटाएं। या पूरी तरह से फॉर्म को हटा दें, हालांकि मामलों में यह आपके वर्कलोड को काटने के लिए क्रमबद्ध करने में आसान होता है। यदि फॉर्म टैग बने रहें, तो फॉर्म टैग के बाहर बटन को ले जाएं, या वैकल्पिक रूप से इसे ऑनक्लिक के साथ एक लिंक बनाएं या इनपुट बटन के विपरीत हैंडलर पर क्लिक करें। Jquery UI बटन इस मामले में बहुत अच्छा काम करते हैं क्योंकि आप एक टैग तत्व के साथ इनपुट बटन की नकल कर सकते हैं।

+0

क्लिक का उपयोग करते हुए कार्रवाई बस कुछ मैं अगर फार्म, प्रस्तुत करने गया था जो यह नहीं था देखने के लिए परीक्षण करने के लिए उपयोग कर रहा था है। मेरे वास्तविक कोड में मैं एजेक्स प्रकार का लेनदेन नहीं कर रहा हूं, मैं सर्वर पर फॉर्म जमा कर रहा हूं और इसे php से संसाधित कर रहा हूं। लेकिन इससे पहले कि यह संसाधित हो जाए, मैं यह देखने के लिए फेसबुक एपीआई का उपयोग कर रहा हूं कि क्या उपयोगकर्ता अपनी पोस्ट को अपनी फेसबुक दीवार पर भी सबमिट करना चाहता है या नहीं। इसलिए, असल में, मुझे इसे जमा करने से पहले प्रतिक्रिया देने का समय देना होगा। मेरे ऊपर दिए गए दो उदाहरणों के साथ अजीब बात यह है कि न तो वास्तव में फॉर्म को प्रस्तुत करता है जो मुझे कोई समझ नहीं आता है। – MatthewLee

+0

मुझे लगता है कि सबमिट सबमिट से ठीक पहले सर्वर की तरफ फेसबुक की जांच करना आसान होगा, फिर वांछित कार्रवाई सबमिट नहीं होने पर झूठी वापसी करें। – bpeterson76

+0

ठीक है अब मैं इसे प्राप्त करता हूं, फ़ॉर्म टैग के अंदर सबमिट बटन दोनों विकल्पों के लिए इसे तोड़ देता है। जब मैं सबमिट बटन हटा देता हूं, लिंक अपेक्षित के रूप में काम करता है। धन्यवाद bpetersen! – MatthewLee

2

क्या आपको फॉर्म को यूआरएल में पोस्ट करने की ज़रूरत है या आपको केवल सबमिट-इवेंट का पता लगाने की ज़रूरत है? क्योंकि आप onsubmit="javascript:alert('I do also submit');"

<form action="javascript:alert('submitted');" method="post" id="testForm" onsubmit="javascript:alert('I do also submit');">...</form> 

सुनिश्चित नहीं हैं कि यह आप यद्यपि के लिए क्या देख रहे है जोड़कर सबमिट घटना का पता लगा सकते।

+1

हेनरिक के विचार के लिए धन्यवाद लेकिन मैं वास्तव में फॉर्म – MatthewLee

10

ऐसा इसलिए है क्योंकि सबमिट बटन का नाम "सबमिट" नाम दिया गया है, इसे "सबमिट" के अलावा कुछ भी बदलें, "सबमिटमे" को आजमाएं और पुनः प्रयास करें। यह तब काम करना चाहिए।

+0

उत्कृष्ट और शुद्ध उत्तर सबमिट करना चाहता हूं। महान!!! धन्यवाद। – 23W

+1

प्रतीक्षा करें, क्या? क्यों? ... संपादित करें: [यहां क्यों है] (http://stackoverflow.com/questions/3571328/form-submit-button-will-not-submit-when-name-of-button-is-submit)। धन्यवाद! – Sam

8

क्यों इच्छित कोड चलाने के लिए सबमिट बटन का उपयोग न करें। यदि आपका फ़ंक्शन गलत लौटाता है, तो यह सबमिशन रद्द कर देगा।

$("#testForm").submit(function() { 
    /* Do Something */ 
    return false; 
}); 
3

jQuery बटन

$('#button_id').on('click',function(){ 
    $('#form_id').submit(); 
});