में एक फॉर्म भरने का सामान्य तरीका मैं जावास्क्रिप्ट का उपयोग कर पैरामीटर स्ट्रिंग के आधार पर एक फॉर्म "भरने" के लिए वास्तव में सामान्य तरीका ढूंढ रहा हूं।जावास्क्रिप्ट
उदाहरण के लिए, अगर मैं इस फार्म है:
<form id="someform">
<select name="option1">
<option value="1">1</option>
<option value="2">2</option>
</select>
<select name="option2">
<option value="1">1</option>
<option value="2">2</option>
</select>
</form>
मैं चाहूँगा इस तरह का कोई पैरामीटर स्ट्रिंग लेने के लिए सक्षम होने के लिए: option1=2&option2=1
और फिर राशि सही चीजों के आधार पर चुना क्वेरी स्ट्रिंग में विकल्प।
मेरे पास एक प्रकार का बदसूरत समाधान है जहां मैं फॉर्म के बच्चों के माध्यम से जाता हूं और जांचता हूं कि क्या वे विभिन्न चाबियों से मेल खाते हैं, फिर मान सेट करते हैं, लेकिन मुझे वास्तव में यह पसंद नहीं है।
मुझे क्लीनर, जेनेरिक ऐसा करने का तरीका है जो किसी भी रूप के लिए काम करेगा (पैरामीटर स्ट्रिंग को सभी सही कुंजी मानते हैं)।
मैं प्रोटोटाइप जावास्क्रिप्ट लाइब्रेरी का उपयोग कर रहा हूं, इसलिए मैं उन सुझावों का स्वागत करता हूं जो इसका लाभ उठाते हैं।
संपादित करें: यह है कि क्या मैं अब तक (Form.getElements(form)
के लिए प्रोटोटाइप का उपयोग कर)
function setFormOptions(formId, params) {
params = params.split('&');
params.each(function(pair) {
pair = pair.split('=');
var key = pair[0];
var val = pair[1];
Form.getElements(form).each(function(element) {
if(element.name == key) {
element.value = val;
}
});
});
}
मैं हालांकि लगता है कि यह अभी भी तेजी से हो सकता है/क्लीनर के साथ आ गया है।
+1 मुझे उस विधि का बिल्कुल कोई संकेत नहीं था। यह भविष्य में एक बड़ा समय बचाने वाला होने वाला है। धन्यवाद। –
'document.someform' को' $ (formId) में बदलना समाप्त हो गया है और यह वही है जो मैं ढूंढ रहा था। एक बार फिर धन्यवाद! –
कुंजी मूल्य जोड़े तक पहुंचने के लिए आप Hash.each विधि का उपयोग करके कोड को छोटा कर सकते हैं: $ एच (queryString.toQueryParams())। प्रत्येक (फ़ंक्शन (जोड़ी) { फॉर्म। एलिमेंट.सेट वैल्यू ($ ("कुछफॉर्म") [pair.key], पैराम्स [pair.value]); }); – aemkei