कुछ पृष्ठभूमि:उत्सुक: क्या गतिशील अजाक्स डेटा परिवर्तनीय नाम होना संभव है?
हाल ही में एक परियोजना पर, मुझे लगता है कि कुछ अजाक्स जब विभिन्न आदानों अपडेट किए गए थे किए गए कॉल को संभालने होगा एक सुव्यवस्थित jQuery प्लगइन लिखने का प्रयास किया। मैं एक प्लगइन के रूप में JavaScript फ़ंक्शन लिखा था ताकि मैं सिर्फ विभिन्न आदानों पर यह कह सकते हैं, तो जैसे: फिर
$("#email").updateChanges();
, प्लगइन के भीतर से, मैं इनपुट की आईडी, मूल्य, आदि एकत्र
समस्या:
कुछ जो मैं वास्तव में करना चाहता था, लेकिन समाधान नहीं मिला, गतिशील रूप से AJAX के माध्यम से पारित डेटा चर का नाम उत्पन्न करना था।
अधिक स्पष्ट है, इस समारोह को देखते हुए:
jQuery.fn.updateChanges = function(){
this.bind('blur',function(){
var inputName = $(this).attr("name");
var inputValue = $(this).val();
$.post('/ajax/updateValue.php',
{ email: inputValue }, function(ret){
if (ret=='success') alert("all good!");
}
}
}
... कैसे मैं { password: inputValue }
बजाय { email: inputValue }
के रूप में अजाक्स कॉल के लिए डेटा प्रस्तुत करते inputName चर "पासवर्ड" के बजाय है "ईमेल"? यह एक बहुत ही विशिष्ट उदाहरण है, लेकिन मूल रूप से मैं डेटा वैरिएबल के नाम को एक अलग गतिशील चर से पढ़ने का तरीका ढूंढ रहा हूं।
मैंने window[inputName]
को कोई भाग्य नहीं दिया, और मुझे बहुत आश्वस्त है कि यह असंभव है। हालांकि, अगर किसी के पास कोई विचार है, तो मैं बहुत प्रभावित हूं।
संयोग से, हम इसके बजाय { type: inputName, value: inputValue }
के साथ जा रहे थे, लेकिन PHP पक्ष पर थोड़ा और अधिक लेगवर्क की आवश्यकता थी (मुझसे मत पूछो, मैं सिर्फ फ्रंट एंड लड़का हूं :)।
अग्रिम धन्यवाद!
तुम कैसे करने के लिए वांछित चर नाम से संवाद करने की योजना बना रहे हैं कार्यक्रम? क्या यह एक पैरामीटर होगा? – JorenB