2010-06-25 7 views
10

प्रस्तुत नहीं करता है मैं निम्न HTML कोड है:jQuery एक रूप

<?xml version="1.0" encoding="utf-8" ?> 

<!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> 
    <title>IT-Services Umfrage - Fragen</title> 

    <link rel="stylesheet" type="text/css" href="/IT/umfrage/../../style.css" /> 
    <link rel="stylesheet" type="text/css" href="/IT/umfrage/css/umfrage.css" /> 

    <script type="text/javascript" src="/IT/umfrage/../../inc/jquery-1.4.2.js"></script> 
    <script type="text/javascript" src="/IT/umfrage/js/umfrage.js"></script> 
</head> 

<body id="page-show"> 
    <div class="ueberschriftsbalken"><span>IT-Services Umfrage - Fragen</span></div> 
    <br /> 
    <div id="content"> 

     <form action="/IT/umfrage/Umfrage/save" method="post" id="umfrageForm"> 
      <div class="frage radio"> 
       <p>1. Wie professionell empfinden Sie das Auftreten der IT-Service Anlaufstelle?</p> 
       <label for="frage1_1"><input type="radio" name="frage1" id="frage1_1" value="1" /> Lausig</label><br /> 
       <label for="frage1_2"><input type="radio" name="frage1" id="frage1_2" value="2" /> Schwach</label><br /> 
       <label for="frage1_3"><input type="radio" name="frage1" id="frage1_3" value="3" /> Durchschnittlich</label><br /> 
       <label for="frage1_4"><input type="radio" name="frage1" id="frage1_4" value="4" /> Gut</label><br /> 
       <label for="frage1_5"><input type="radio" name="frage1" id="frage1_5" value="5" /> Hervorragend</label> 
      </div> 
      <input type="submit" value="Antworten absenden" name="submit" id="submitbutton" /> 
     </form> 
    </div> 
</body> 
</html> 

जब submitbutton पर क्लिक करने या जब कुंजी दर्ज धक्का, प्रपत्र सबमिट किया जाता है। लेकिन जब मैं $('#umfrageForm').submit(), $('form').submit() या कुछ भी समान कोशिश करता हूं, कुछ भी नहीं होता है। फ़ायरबग में, फ़ंक्शन केवल फॉर्म तत्व के लिए DOM पथ देता है।

समस्या क्या हो सकती है जो फ़ॉर्म को सबमिट होने से रोकती है?

+0

क्या आपका 'सबमिट' हैंडलर झूठा या कुछ भी लौटाता है? यह डिफ़ॉल्ट व्यवहार को रोक देगा, '$ ("फॉर्म") [0] .submit();' क्या करें? –

+1

पर कब और कहां फायर कर रहे हैं। सबमिट करें() ईवेंट? –

+0

@Luke: या तो बटन क्लिक करें या फ़ायरबग जेएस कंसोल से क्लिक करें। –

उत्तर

46

आप एक क्षेत्र submit नामित किया है , इस clobbers submit फार्म की विधि (क्षेत्र के लिए डोम नोड के संदर्भ के साथ) कि jQuery अपने submit विधि पर निर्भर करता है।

इसका नाम बदलें।

+2

आईडी = 'सबमिट' पर भी लागू होता है – BIOHAZARD

4

मैं तुम्हें घटना प्रस्तुत करने से पहले डोम वास्तव में भरी हुई है क्योंकि अगर मैं इसे करने की कोशिश, इस कोड काम करता है आग, लगता है:

$(document).ready(function(){ 

    // Submit handler, to prove everything works fine 
    $('#umfrageForm').submit(function(){ 
     alert('hi'); 
     return false; 
    }); 

    // Fire the submit event 
    $('#umfrageForm').submit(); // alerts 'hi' 
}); 

देखें: jsFiddle

+0

यह लिली से अधिक तथ्य यह है कि वह $ (दस्तावेज़) .ready() फ़ंक्शन का उपयोग नहीं कर रहा है। +1 – RobertPitt

+0

नहीं, मैंने फायरबग जेएस कंसोल से ईवेंट निकाल दिया, इसलिए डोम तैयार है। –

-1

हाँ जब आपके पास "सबमिट" नाम के साथ इनपुट तत्व हैं तो आपको $ ('# formID') मिल जाएगा। सबमिट करने के लिए सबमिट करने के लिए सबमिट करें() सबमिट करें। बस कुछ और प्रासंगिक के लिए इनपुट फ़ील्ड नाम (सबमिट बटन हो सकता है) को प्रतिस्थापित करें।

मुझे पता है कि यह पोस्ट पुराना है, सिर्फ मेरे लिए एक ही समस्या थी और सोचा कि मुझे अपने निष्कर्ष पोस्ट करना चाहिए।

-1

मुझे एक बार इसी तरह की समस्या थी। यदि आप जावा-स्क्रिप्ट फ़ाइल को दिखाते हैं तो आपके कोड को काम करना चाहिए। हालांकि, मुझे संदेह है कि आपका कोड एक बड़ा HTML दस्तावेज़ का हिस्सा है। समस्या तब उत्पन्न होती है जब आप उप-दस्तावेज़ में जावा-स्क्रिप्ट-फ़ंक्शंस को शामिल किए बिना किसी अन्य HTML दस्तावेज़ में अपने HTML दस्तावेज़ का बॉडी भाग डाउनलोड करते हैं (क्योंकि वे अभिभावक-दस्तावेज़ में शामिल होते हैं)। फिर यह काम नहीं करेगा। आपको उप-दस्तावेज़ में जावा-स्क्रिप्ट फ़ाइल भी शामिल करनी होगी।

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