2011-06-21 11 views
5

मैं कुछ समय के लिए यह पता लगाने की क्या एचटीएमएल 5 फार्म की मेरी मान्यता के साथ हो रहा है कोशिश कर रहा था और मैंने देखा है कि:एचटीएमएल 5 और प्रोग्राम के सबमिट किए गए फ़ॉर्म का सत्यापन

  1. जब मैं अपने सबमिट बटन का उपयोग कर प्रपत्र सबमिट प्रमाणीकरण ठीक काम करता है
  2. jQuery सबमिट() फ़ंक्शन का उपयोग करके प्रोग्राम रूप से फ़ॉर्म सबमिट करने का प्रयास करते समय यह सबमिट हो जाता है और सत्यापन कार्य नहीं लगता है।
  3. जब मैं प्रपत्र प्रोग्राम के के सबमिट बटन को गति प्रदान, मान्यता काम करता है

यह सब OSX ब्राउज़रों (FF5, O11, Chr13), लेकिन सफारी 5, जो वास्तव में मामलों की न में मान्य नहीं करता में संगत है ।

Here is the jsFiddle to test.

किसी भी विचार क्यों दूसरा विकल्प काम नहीं करता है?

+1

आपका '.submit()' वास्तव में अपने बेला में, प्रस्तुत नहीं करता है क्योंकि आप सबमिट बटन की आईडी निर्धारित किया है करने के लिए 'submit' । http://api.jquery.com/trigger/#comment-134514715 – pimvdb

+0

इसके अतिरिक्त, आप 'इनपुट' के अलावा किसी अन्य चीज़ पर अपने सबमिट इनपुट की आईडी बदलना चाहेंगे। – Perception

+0

ठीक है मैंने फॉर्म बटन की आईडी और फॉर्म की आईडी बदल दी - व्यवहार वही है – kwicher

उत्तर

1

ऐसा लगता है कि सबमिट बटन को किसी भी तरह ट्रिगर करना है। यह आश्चर्यचकित नहीं होगा, क्योंकि ब्राउजर भी एक परिवर्तन घटना को नहीं चलाता है, जब कोई जेएस के माध्यम से टेक्स्ट इनपुट के मान को बदलता है।

+0

मैंने देखा है :) – kwicher

1

मैंने कुछ परीक्षण किए हैं, और ऐसा लगता है कि फॉर्म मान्य है और फॉर्म में पहले <input type="submit" /> तत्व पर click ईवेंट द्वारा ट्रिगर किया गया है।

बिल्कुल वही बात होती है जब आपका ध्यान फ़ॉर्म में होता है (उदाहरण के लिए कुछ इनपुट तत्व में) और आप enter दबाते हैं। ब्राउजर हैंडल फॉर्म जमा करने का तरीका है और मैं मानता हूं कि यह थोड़ा अजीब है।

ऐसा लगता है कि आप एचटीएमएल 5 कंटेंट एपीआई का उपयोग करके प्रोग्रामेटिक रूप से एचटीएमएल 5 सत्यापन चला सकते हैं लेकिन ब्राउज़र समर्थन से अवगत रहें।

Do any browsers yet support HTML5's checkValidity() method?

इसके अलावा वहाँ कुछ जावास्क्रिप्ट libraies उस के साथ मदद करने के लिए कर रहे हैं।

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