ओपेरा 11 में एचटीएमएल 5 क्लाइंट-साइड फॉर्म सत्यापन का उपयोग करते समय फॉर्म सबमिशन को कैसे रोकें?ओपेरा 11 में एचटीएमएल 5 क्लाइंट-साइड फॉर्म सत्यापन का उपयोग करते समय फॉर्म सबमिशन को कैसे रोकें?
<section>
<h2>Test</h2>
<form>
<input type="text" name="test" id="test" required/>
<input type="submit" value="Test" />
</form>
</section>
मान्यता ओपेरा 11 में काम करता है, लेकिन जब बटन एक मूल्य के प्रवेश करने के बाद क्लिक किया जाता है, ब्राउज़र प्रपत्र सबमिट:
यहां नमूने के परीक्षण पृष्ठ है।
मैं चाहता हूं कि ब्राउजर हमेशा वेबपृष्ठ पर रहें, जो क्लाइंट-साइड-स्क्रिप्ट के लिए अच्छा है, स्थानीय हार्ड ड्राइव पर, जहां कोई सर्वर नहीं है, उदाहरण के लिए।
जब मैं return false;
जोड़ता हूं या फ़ॉर्म को सबमिट करने से रोकने की कोशिश करता हूं, तो सत्यापन अब काम नहीं करता है।
ओपेरा 11.10 बिल्ड 2092
संपादित करें:
robertc के समाधान के लिए धन्यवाद, मैं यह काम कर रहा मिला है। JQuery के बिना परीक्षण पृष्ठ यहां है।
(function() {
"use strict";
window.addEventListener("load", function() {
document.getElementById("testForm").addEventListener("submit", function(event) {
event.target.checkValidity();
event.preventDefault(); // Prevent form submission and contact with server
event.stopPropagation();
}, false);
}, false);
}());
<section>
<h2>Test</h2>
<form id="testForm">
<input type="text" name="test" id="test" required/>
<input type="submit" value="Test" />
</form>
</section>
मुझे लगता है कि आप 'required' नहीं लिख लेकिन इसके बजाय चाहिए' आवश्यक = "आवश्यक "'। पता नहीं है कि यह कारण है, हालांकि। –
मुझे लगता है कि 'आवश्यक = "आवश्यक" 'एक्सएचटीएमएल के लिए है और एचटीएमएल 5 या तो स्वीकार करता है (मान्य भी)। मैंने बस "आवश्यक" स्ट्रिंग के साथ प्रयास किया, लेकिन परिणाम में कोई अंतर नहीं है। – XP1