2009-06-20 13 views
27
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
    <title>A webpage</title> 
</head> 
<body> 
    <p> 
    <form action="something.php" method="get"> 
    <input type="submit" value="Hello"/> 
    </form> 
</p> 
</body> 
</html> 
+4

सत्यापन पृष्ठ कुछ सुझाव नहीं देता है? निम्नलिखित के लिए –

उत्तर

53

देखो कि तुम जब तुम कोशिश http://validator.w3.org

इसके अलावा आप एक वर्ण एन्कोडिंग निर्दिष्ट नहीं किया है (और यह इसलिए UTF-8 संभालने जाता है कि) एक चेतावनी से साथ, मुख्य त्रुटि है कि कि <p> को गैर-इनलाइन सामग्री रखने की अनुमति नहीं है। आप या तो <p> और </p> को पूरी तरह से हटा सकते हैं, या उन्हें <form> के अंदर ले जा सकते हैं।

'क्यों' के लिए, ऐसा इसलिए है क्योंकि यह स्कीमा में परिभाषित किया गया है जो परिभाषित करता है कि क्या है और क्या वैध एक्सएचटीएमएल नहीं है। यदि आप this section of the XHTML definition देखते हैं तो आप देखेंगे कि <p> केवल टेक्स्ट या 'इनलाइन' ('ब्लॉक' नहीं) टैग रखने की अनुमति है।हालांकि <form> 'ब्लॉक' सामग्री के रूप में गिना जाता है जो 'इनलाइन' सामग्री के रूप में नहीं है।

दूसरे शब्दों में, एक रूप में पैराग्राफ हो सकते हैं, लेकिन एक पैराग्राफ में फॉर्म नहीं हो सकते हैं।

+1

+1 एकमात्र उत्तर (अब तक) होने के लिए वास्तव में यह समझाने के लिए कि समस्या क्या है –

+2

+1 इसी कारण से भी। हर कोई बस जैसा है "हाँ, यह validator.w3c.org के अनुसार मान्य नहीं है –

+0

सामग्री-प्रकार केवल HTTP शीर्षलेख द्वारा निर्धारित किया जाना चाहिए। – pepkin88

1
this के अनुसार

के रूप में पी सत्यापित करें में नेस्ट नहीं बनाता है, क्यों है क्योंकि:

लाइन 8, स्तंभ 44: दस्तावेज़ प्रकार तत्व "फार्म" यहाँ की अनुमति नहीं है; गायब "ऑब्जेक्ट", "इन्स", "डेल", "मैप" स्टार्ट-टैग ✉ उल्लिखित तत्व को संदर्भ में प्रदर्शित करने की अनुमति नहीं है जिसमें आपने इसे रखा है; अन्य उल्लेख तत्वों केवल जो कि दोनों वहाँ की अनुमति दी हैं और तत्व उल्लेख शामिल कर सकते हैं कर रहे हैं। यह है कि आप एक युक्त तत्व की जरूरत है, या मतलब हो सकता है कि आप संभवतः पास एक पिछले तत्व भूल गए हैं।

इस संदेश के लिए एक संभावित कारण है कि आप एक इनलाइन तत्व (जैसे कि "एक" के अंदर (जैसे "पी" या "तालिका" के रूप में) एक ब्लॉक स्तर तत्व डाल करने का प्रयास किया है, "काल ", या " फ़ॉन्ट ")।

लाइन 9, स्तंभ 40: दस्तावेज़ प्रकार तत्व "इनपुट" यहाँ की अनुमति नहीं है; "पी", "एच 1", "h2", "h3" में से एक, "h4", "h5", "h6", "div", "पूर्व", "पता", "fieldset" लापता, "इन्स", "डेल" स्टार्ट-टैग इनपुट प्रकार = "सबमिट करें" मूल्य = "हैलो" उल्लिखित तत्व को में उस संदर्भ में दिखाई देने की अनुमति नहीं है जिसमें आपने इसे रखा है; अन्य उल्लेख किया तत्वों केवल जो कि दोनों वहाँ अनुमति दी जाती है और तत्व उल्लेख शामिल कर सकते हैं कर रहे हैं। इसके कारण हो सकता है कि आप एक युक्त तत्व संभवतः कि यदि आप पिछले तत्व बंद करने के लिए भूल गए हैं की जरूरत है, या।

इस संदेश के लिए एक संभावित कारण है कि आप एक इनलाइन तत्व (जैसे कि "एक" के अंदर (जैसे "पी" या "तालिका" के रूप में) एक ब्लॉक स्तर तत्व डाल करने का प्रयास किया है, "काल ", या " फ़ॉन्ट ")।

+0

+1: "... आपने एक इनलाइन तत्व (जैसे" ए "," स्पैन "या" फ़ॉन्ट के अंदर ब्लॉक-स्तर तत्व (जैसे "पी" या "टेबल") डालने का प्रयास किया है ")।" –

-1

आप पैराग्राफ के अंदर फॉर्म नहीं डाल सकते हैं। इस तरह लिखें:

<body> 
    <form action="something.php" method="get"> 
    <p> 
    <input type="submit" value="Hello"/> 
    </p> 
    </form> 
</body> 
+3

उसने _WHY_ से पूछा कि यह मान्य नहीं है, इसे ठीक करने का तरीका नहीं है। –

-1

कोशिश W3C Markup Validator है, जो बता देगा का उपयोग कर अपने जो सबसे अधिक (एक्स) एचटीएमएल और सीएसएस दस्तावेजों के साथ अवैध है।

त्रुटि संदेश में
+4

मुझे लगता है कि वह शायद इसे महसूस कर लेता है क्योंकि वह पहले से ही जानता है कि यह मान्य नहीं है। वह पूछ रहा था कि यह क्यों अमान्य था, नहीं। –

+1

अच्छी तरह से देखते हुए डब्ल्यू 3 सी वैधकर्ता बहुत अच्छी तरह से बताता है कि यह अमान्य क्यों है, मुझे लगा कि समस्या को हल करने का सबसे जानकारीपूर्ण तरीका था। किसी को यह बताना बेहतर होगा कि किसी समस्या को हल करने के बजाय, उन्हें केवल जवाब दें। – DaveR

-3

मैंने validator.w3.org के माध्यम से अपने एचटीएमएल कोड के साथ एक परीक्षण चलाया और नतीजा यह है कि आपको वैध डब्ल्यू 3 सी एचटीएमएल के रूप में पास करने के लिए पी और फॉर्म टैग को स्वैप करने की आवश्यकता है।

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
    <title>A webpage</title> 
</head> 
<body> 
    <form action="something.php" method="get"> 
    <p> 
     <input type="submit" value="Hello"/> 
    </p> 
    </form> 
</body> 
</html> 
+4

उसने पूछा कि WWY_ यह मान्य नहीं है, इसे ठीक करने का तरीका नहीं है। –

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