2009-11-25 21 views
19
के बाद

आमतौर पर, जब एक ताज़ा एक HTML पृष्ठ पर किया जाता है, इनपुट फ़ील्ड के लिए मान रखा जाता है (जब तक आप Ctrl + F5 करते हैं)।एचटीएमएल - इनपुट मूल्य रखा ताज़ा

वहाँ एक शीर्ष लेख या की तुलना में इस व्यवहार को बदल सकते, रूप या इनपुट पर ही कुछ भी chaging बिना स्थापित करने का एक अन्य प्रकार है?

मेरे पास ऐसी साइट है जहां उत्पादन मूल्य को पृष्ठ में ताज़ा करने के बाद रखा जाता है। हालांकि जब मैं इस कोड का परीक्षण अपनी स्थानीय मशीन पर करता हूं तो मेरे पास यह व्यवहार नहीं है।

+0

आप अपने पृष्ठों में से एक के लिए इस व्यवहार को जोड़ने के लिए कोशिश कर रहे हैं, या यह पता लगाने की है, ताकि आप व्यवहार निष्क्रिय कर सकते हैं कैसे साइट आप का उल्लेख करता है की कोशिश कर रहा? –

+0

दरअसल, ऐसा लगता है कि ज्यादातर लोग जिन्होंने इसका उत्तर नहीं दिया था। मैं यह समझने की कोशिश कर रहा हूं कि जिस साइट पर मैं जांच कर रहा हूं, वह इस व्यवहार को बदलने का आदेश देता है। मैं अपने प्रश्न को स्पष्ट होने के लिए अद्यतन कर रहा हूं। –

+1

यह एक फ़ायरफ़ॉक्स केवल मुद्दा है। इस आइटम पर 10 साल के इतिहास के लिए निम्नलिखित "चर्चा" देखें: https://bugzilla.mozilla.org/show_bug.cgi?id=46845 मुझे सबसे ज्यादा – NotMe

उत्तर

1

जावास्क्रिप्ट के साथ तैयार डीओएम पर डिफ़ॉल्ट मान सेट करने के बारे में कैसे?

कुछ

तरह
<input name="foo" id="foo" type="text"> 

$('#foo').val('3') 
+5

दस्तावेज़ होने के लिए टिप्पणी # 123 मिलती है .getElementById ('foo ') .value = 3 जो jquery का उपयोग नहीं कर रहे हैं। –

+0

आप '3' का उपयोग क्यों करते हैं? –

+0

यह सिर्फ एक उदाहरण है। आप '3' के बजाय अपनी इच्छित चीज़ों का उपयोग कर सकते हैं। – hex

6

आप शरीर ऑनलोड को form.reset() जोड़ सकते हैं:

<html> 
    <body onload="form1.reset();"> 
     <form id="form1"> 
      <textarea id="text"></textarea> 
     </form> 
    </body> 
</html> 

अद्यतन: जबकि यह एक उपयोगी तकनीक हो सकता है, मैं अब पता चला है कि यह है कि वास्तव में सबमिटकर्ता के सवाल का जवाब नहीं देता है।

53

आप विशेषता autocomplete=off सेट करते हैं, सामग्री संग्रहित किया जा कभी नहीं होगा।

वैकल्पिक रूप से, जावास्क्रिप्ट के साथ इसे पूरा करने के कई तरीके हैं, जो आप पूरा करना चाहते हैं, भले ही यह पूरे फॉर्म को साफ़ कर रहा हो (रीसेट() विधि का उपयोग करें), या एकल फ़ील्ड को रीसेट करना।

+1

यह स्वीकार नहीं किया गया था क्योंकि सवाल इनपुट पर कोई बदलाव नहीं करने के लिए कहा गया था। मुझे क्या समझ में आता है। @sonnb –

+0

यह समाधान काम किया –

1

जहाँ तक मुझे पता है, वहाँ इसे लागू करने के कोई मानक तरीका है, इसलिए इससे पहले कि आप निष्क्रिय कर सकते हैं, तो आप पहले आप यह निर्धारित करने के लिए कैसे साइट यह क्या कर रहा है की जरूरत है। वे इसे कई तरीके से कर सकते थे, क्योंकि आप यहां विभिन्न उत्तरों की विविधता से देख सकते हैं।

समझने क्या चल रहा है की एक अच्छा तरीका सरल संभव उदाहरण है कि अभी भी इस मुद्दे को reproduces करने के लिए कोड को कम करना है। सभी ग्राफिक्स, अनइडेड टेक्स्ट, स्टाइल शीट्स और अन्य स्वरूपण, अप्रासंगिक जावास्क्रिप्ट, अप्रासंगिक HTML टैग इत्यादि हटाएं लेकिन हमेशा यह जांचें कि आप अभी भी समस्या को पुन: उत्पन्न कर सकते हैं। आखिरकार इतना छोटा कोड छोड़ा जाएगा कि यह स्पष्ट होना चाहिए कि यह क्या है जिससे खेतों को रीसेट किया जा सके। आपको यह सब उत्पादन मशीन पर करना होगा, क्योंकि आप इसे स्थानीय रूप से पुन: पेश नहीं कर सकते हैं। ऐसा करने के लिए, स्क्रिप्ट की एक प्रति लें और उन्हें index2.html आदि का नाम दें। सुनिश्चित करें कि ऐसा करने से पहले आपके उत्पादन प्रणाली का बैकअप लें, कुछ गलत होने पर।

आप अभी भी समझ नहीं पाते हैं कि यह कैसे करने के बाद इस मुद्दे को ठीक करने के लिए, कोड पर्याप्त छोटा है कि इसे यहाँ पोस्ट किया जा सकता है और किसी और इसे बाहर काम करने के लिए सक्षम हो जाएगा होना चाहिए।

0

मैं सामान्य रूप से इस का उपयोग करें:

var reset_input_values = document.querySelectorAll('input'); 
for (var i = 0; i < reset_input_values.length; i++) { 
    reset_input_values[i].value = 'value you want '; 
} 
संबंधित मुद्दे