मुझे अपने गुरुत्वाकर्षण फॉर्म फॉर्म में कुछ समस्याएं आ रही हैं। यह एक बहु पृष्ठ प्रपत्र है, और मुझे पृष्ठ 1 से पोस्ट मानों का उपयोग करके पेज 2 पर एक फ़ील्ड पॉप्युलेट करने की आवश्यकता है। लेकिन यह काम नहीं कर रहा है। निस्संदेह पेज 2 पर फ़ील्ड को "क्षेत्र को गतिशील रूप से पॉप्युलेट करने की अनुमति दें" के लिए कॉन्फ़िगर किया गया है और फ़ील्ड का पैरामीटर "नाम" पर सेट है।गुरुत्वाकर्षण फॉर्म प्लगइन - गतिशील रूप से पॉपुलटिंग फॉर्म फ़ील्ड काम नहीं कर रहा है
add_filter('gform_field_value_name', 'name_population_function');
function name_population_function($value){
$name = $_POST['input_2'] . ' ' . (! empty($_POST['input_3']) ? ($_POST['input_3'] . ' ') : NULL) . $_POST['input_1'];
return $name;
}
जब मैं var_dump($name);
का उपयोग कर $name
चर के मूल्य प्रिंट यह वास्तव में सही है: यहाँ मेरी कोड है।
यदि मैं $name
से $name = 'Last Middle First';
बदलता हूं तो यह फ़ील्ड को पॉप्युलेट कर रहा है जैसा इसे करना चाहिए।
आपकी मदद के लिए धन्यवाद।
संपादित करें: परीक्षण प्रयोजनों के लिए मैं अपने कोड बदल दिया है:
add_filter('gform_field_value_name', 'name_population_function');
function name_population_function($value){
$name = 'Test';
if (! empty($_POST['input_1']) && ! empty($_POST['input_2'])) {
$name = $_POST['input_2'] . ' ' . (! empty($_POST['input_3']) ? ($_POST['input_3'] . ' ') : NULL) . $_POST['input_1'];
//var_dump($name);
}
return $name;
}
अगर मैं var_dump
चर $name
का मूल्य फिर से ठीक से सेट है, लेकिन पृष्ठ 2 पर क्षेत्र के साथ पॉप्यूलेट है के साथ लाइन uncomment मूल्य Test
। शायद इस फ़िल्टर को पृष्ठ 1 पर भी कहा जाता है, इसलिए क्या यह संभव है कि प्लगइन इस मान को कैश करे? मैं एक कैशिंग प्लगइन का उपयोग नहीं करता, इसलिए यह नहीं पता कि यह क्यों काम नहीं कर रहा है।
जब आप var डंप करते हैं, तो क्या आप इसे दूसरे पृष्ठ पर या पहले पृष्ठ पर कर रहे हैं? –
var_dump को name_population_function में function.php फ़ाइल में 'वापसी' से ठीक पहले रखा गया था और पहला पृष्ठ पहले से ही भेजा गया था। – user1832297
देर से पोस्ट करने के लिए खेद है, लेकिन अगर किसी और को यह समस्या है तो मुझे पता चला है कि AJAX पोस्टिंग का उपयोग वास्तव में पृष्ठ से पृष्ठ पर सामग्री पोस्ट नहीं करता है बल्कि पृष्ठों की उपस्थिति देने के लिए फ़ॉर्म के हिस्सों को दिखाता/छुपाता है। AJAX पोस्टिंग को अक्षम करने से मुझे फ़ील्ड को एक पृष्ठ से बाद के पृष्ठ पर पॉप्युलेट करने की अनुमति मिली। यदि आपको वास्तव में AJAX पोस्टिंग सक्षम करने की आवश्यकता है तो आपको इसे काम करने के लिए जावास्क्रिप्ट हुक का उपयोग करने की आवश्यकता हो सकती है। – mj7