मैं है एक रूप है जिसमें जावास्क्रिप्ट की जरूरत है सत्यापन के लिए सक्षम होने के लिए, वहाँ सबमिट बटन जब जावास्क्रिप्ट अक्षम किया गया है अक्षम करें और यह पहली बार सक्षम करने के लिए उपयोगकर्ता को सचेत करने के लिए एक रास्ता है?अक्षम सबमिट बटन जब जावास्क्रिप्ट अक्षम किया गया है
उत्तर
डिफ़ॉल्ट रूप से यह अक्षम करें और इसे सक्षम करने के लिए जावास्क्रिप्ट का उपयोग करें।
<input type="submit" value="Submit" id="submitBtn" disabled />
<script type="text/javascript">
var _onload = window.onload || function()
{
document.getElementById('submitBtn').disabled = false;
}
_onload();
</script>
इस तरह, यदि जावास्क्रिप्ट अक्षम है तो बटन भी अक्षम रहेगा।
jQuery संस्करण:
<script type="text/javascript">
$(function(){
$('#submitBtn').attr('disabled', false);
});
</script>
आपकी मदद के लिए धन्यवाद :) – datisdesign
बस '_onload' समारोह के साथ सावधान रहना धन्यवाद क्योंकि अगर' window.onload' संपत्ति पहले से निर्धारित किया गया है, अपने कार्य नहीं करेंगी * कभी नहीं * रन। वास्तव में, के बाद से 'script' ब्लॉक इनपुट के बाद परिभाषित किया गया है, तो आप मान सकते हैं कि' getElementById' यह मिलेगा क्योंकि जब स्क्रिप्ट मूल्यांकन किया जाता है, इनपुट डोम ... – CMS
@CMS अधिकार में है। यही कारण है कि मैं jQuery पसंद करते हैं। –
एक HTML फ़ॉर्म कार्य निर्धारित नहीं है, बल्कि केवल एक ऑनसबमिट जावास्क्रिप्ट ईवेंट हैंडलर परिभाषित करते हैं। यदि जावास्क्रिप्ट सक्षम नहीं है, ऑनसबमिट सक्रिय नहीं होगा, लेकिन जब से कोई प्रपत्र कार्रवाई, सबमिट बटन या तो कुछ नहीं करेंगे।
तुम भी HTML प्रपत्र कार्रवाई के लिए विकल्प चुन सकता है यह बताता है कि जावास्क्रिप्ट सक्षम किया जाना चाहिए, ताकि प्रयोक्ताओं की राय के कुछ प्रकार है एक त्रुटि पृष्ठ पर जाएं।
वैकल्पिक रूप से आप बटन अक्षम के साथ शुरू कर सकते हैं (के रूप में अन्य पोस्टर का सुझाव दिया)। यदि आप ऐसा करते हैं, तो आपको यह भी इंगित करने वाले फॉर्म पर एक संदेश पर विचार करना चाहिए कि बटन अक्षम क्यों है। जावास्क्रिप्ट के साथ उस संदेश को हटाएं यदि यह एक ही समय में सक्षम है, तो आप बटन को पुनः सक्षम कर सकते हैं।
क्योंकि एक बटन को निष्क्रिय करने प्रोग्राम के रूप में पर्यावरण के आधार पर है और उसे चेतावनी एक पटकथा भाषा (जावास्क्रिप्ट) की तरह किसी तरह का पर निर्भर करता है दोनों कार्य कर रहे हैं, जवाब है नहीं: -/
आप भाग को सक्षम करने के लिए समाधान मिल गया। अलर्टिंग पार्ट के लिए आप अच्छे पुराने टैग का उपयोग कर सकते हैं। (-:
<noscript>
<H1> It Wont work w/o javascript. Please Enable</h1>
</noscript>
कीजिए देर जबाब लेकिन यह मुझे यह कैसे से निपटने के लिए के रूप में मैं एक ऐसी ही समस्या आ रही है और यह मुझे यहाँ नेतृत्व पर सोच मिला तुम हमेशा जावास्क्रिप्ट के बिना अपनी साइट प्रोग्राम और जोड़ने के बाद उसका बढ़ाने के लिए करना चाहिए। यह, लेकिन मेरे मामले में लाइटबॉक्स जैसी चीजों का उपयोग इनपुट के रूप में किया जा रहा है, यदि जावास्क्रिप्ट अक्षम है, तो सही काम नहीं करता है (विशेष रूप से जब से मेरा मान अपने माता-पिता को मूल्य पास करता है)
मेरा सुझाव है कि उम्मीद है कि आपके पास PHP है सक्षम है, तो आप बस अपने दस्तावेज़ के शीर्ष पर डाल सकते हैं
<?php if (isset($_POST)) {
//redirect to page, or set a message variable saying "no results saved"
header('some_page');
$message = "We've detected you do not have " .
"javascript enabled. No results saved";
} ?>
वहाँ से, आप आप और अधिक बस जा सकते हैं
<form name="my_form" id="my_form" method="post" action="" onclick="return false;" />
आशा इस मदद करता है कहने के लिए
<input name="button" id="button" type="submit" onclick="return false;" />
या अपने पेज पर सभी बटन सेट करना होगा!
डेटा क्लाइंट पक्ष की सैनिटी जांच केवल उपयोगकर्ता के लिए सुविधा हो सकती है। यह आपको कोई सुरक्षा प्रदान नहीं कर सकता है। दुर्भावनापूर्ण ग्राहक जो भी डेटा पसंद करते हैं उन्हें सबमिट कर सकते हैं। आपको सर्वर पर चेक करें। फिर आपको जेएस सक्षम करने वाले उपयोगकर्ता के बारे में चिंता करने की आवश्यकता नहीं होगी या नहीं। – Quentin
क्या इसके लिए कोई व्यावसायिक कारण है? बस एफवाईआई (यदि आप इसके लिए नए हैं) जावास्क्रिप्ट द्वारा किए गए सभी सत्यापन को आसानी से अवरुद्ध किया जा सकता है - आपको हमेशा सर्वर पर फॉर्म डेटा सत्यापित करना चाहिए। –
इसका कारण यह है कि मेरे पास कई रूप हैं जो जावास्क्रिप्ट अक्षम होने पर कई आइटमों पर मूल्य की गणना करते हैं (मैं सत्यापन के लिए jquery प्लगइन का उपयोग कर रहा हूं), यह काम नहीं करेगा और जब उपयोगकर्ता इसे सबमिट करेगा, तो फॉर्म खाली फ़ील्ड – datisdesign