আপনি যখন ক্ষেত্রটি হিসাবে সেট করেন readonly
, ব্রাউজারটি ক্ষেত্রটি লক করে জমা দেওয়ার পরে সার্ভারে ডেটা ফেরত পাঠায় । অন্যান্য বৈশিষ্ট্যটি হ'ল disabled
ক্ষেত্রটি লক করে সার্ভারে ডেটা ফেরত পাঠায় না ।
উভয় ক্ষেত্রে, আপনি জোর করে জমা দেওয়ার পরে মানটি একই হিসাবে সেট করতে পারেন। সুতরাং, এমনকি ক্ষেত্র সেট যখন হয় readonly
বা disabled
, এবং ব্যবহারকারী এইচটিএমএল পরিবর্তিত এবং বিভিন্ন ডেটা পাঠায়নি, $form_state['values']
অপরিবর্তিত থাকবে।
function _build_element_readonly($element, &$form_state) {
$element['value']['#attributes']['readonly'] = 'readonly';
$element['value']['#value'] = isset($element['value']['#default_value'])
? $element['value']['#default_value']
: '';
return $element;
}
নোট করুন যে আমরা # পূর্বনির্ধারিত_মূল্য #value
থেকে সেট করেছি। ফর্মটি তৈরি হওয়ার সময় লোড হয়ে যাওয়া ডিফল্ট মান সেট করার স্বাভাবিক উপায় হল # ডিফল্ট_ভ্যালু এবং এতে ডিফল্ট_মূল্য $form_state['values']
বা ব্যবহারকারী-ইনপুট থাকবে। আপনি যখন #value
স্পষ্টভাবে সেট করেন , ব্যবহারকারী-ইনপুট উপেক্ষা করা হয় এবং #value
ব্যবহৃত হবে।
যাইহোক, আমি '#access' => FALSE,
ফর্ম উপাদান গোপন করার সময় ব্যবহার করার পরামর্শ দেব । এটি আপনাকে এর মানগুলি ব্যবহার করার অনুমতি দেওয়ার সময় উপাদানটিকে পুরোপুরি সরিয়ে ফেলবে।
field_permissions
নোংরা পথে কাজ করার চেয়ে সহজ হবে।