Changeset 3319014
- Timestamp:
- 06/28/2025 02:53:40 AM (9 months ago)
- Location:
- administrator-z/trunk
- Files:
-
- 3 edited
-
administrator-z.php (modified) (1 diff)
-
assets/js/adminz.js (modified) (3 diffs)
-
src/Controller/Wpcf7.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
administrator-z/trunk/administrator-z.php
r3318141 r3319014 7 7 * Author: quyle91 8 8 * Author URI: http://quyle91.net 9 * Version: 2025.06.2 69 * Version: 2025.06.28 10 10 * License: GPL2 11 11 * Text Domain: administrator-z -
administrator-z/trunk/assets/js/adminz.js
r3318141 r3319014 97 97 adminz_wpcf7_toggle = (element) => { 98 98 console.log('adminz_wpcf7_toggle'); 99 const hiddenFields = element.querySelectorAll('.wpcf7-form-control.hidden'); 100 const primaryField = element.querySelector('.wpcf7-form-control:not(.hidden)'); 101 99 100 const hiddenContainers = element.querySelectorAll('.hidden'); // div.hidden 101 const primaryField = element.querySelector('.primary_field'); // field hiển thị chính 102 103 // Bước 1: Lấy tất cả input nằm trong div.hidden 104 const extraFields = Array.from(hiddenContainers) 105 .map(container => container.querySelector('.wpcf7-form-control')) 106 .filter(Boolean); // bỏ qua nếu không có field 107 108 // Bước 2: Gộp các giá trị từ extraFields và gán vào primaryField 102 109 const handleHiddenFields = () => { 103 const values = Array.from(hiddenFields)110 const values = extraFields 104 111 .map(field => field.value.trim()) 105 112 .filter(value => value !== ''); … … 107 114 const mergedValue = values.join(' - '); 108 115 109 // Nếu là input type text (hoặc tương tự), bạn có thể set value110 116 if (primaryField.tagName === 'INPUT' || primaryField.tagName === 'TEXTAREA') { 111 117 primaryField.value = mergedValue; … … 113 119 }; 114 120 115 hiddenFields.forEach(field => { 121 // Bước 3: Lắng nghe thay đổi từ các field còn lại 122 extraFields.forEach(field => { 116 123 field.addEventListener('input', handleHiddenFields); 117 124 }); 118 125 126 // Bước 4: Khi click vào primary_field thì hiện các field ẩn, ẩn chính nó 119 127 primaryField.addEventListener('click', () => { 120 121 hiddenFields.forEach(field => { 122 field.classList.remove('hidden'); 128 hiddenContainers.forEach(container => { 129 container.classList.remove('hidden'); 123 130 }); 124 131 125 if (hiddenFields[0]){126 hiddenFields[0].focus();127 } 128 129 primaryField.classList.add('hidden');132 if (extraFields[0]) { 133 extraFields[0].focus(); 134 } 135 136 // primaryField.classList.add('hidden'); 130 137 }); 131 138 }; -
administrator-z/trunk/src/Controller/Wpcf7.php
r3318141 r3319014 340 340 echo adminz_toggle_button(__('Guid'), ".xxxxxxxxxxxx1"); 341 341 $value = '<div class="adminz_wpcf7_toggle"> 342 [date date-244 class:hidden]343 [date date-245 class:hidden]344 [text text-266 placeholder "Select dates"]342 <div class="hidden">[date date-244]</div> 343 <div class="hidden">[date date-245]</div> 344 [text text-266 class:primary_field placeholder "Select dates"] 345 345 </div>'; 346 346 echo '<br>';
Note: See TracChangeset
for help on using the changeset viewer.