field-text.html 1.5 KB

12345678910111213141516171819202122232425262728293031323334
  1. <div class="field-row-stacked">
  2. <label for="<?php echo $field['identifier']; ?>"><?php echo $I18n->t($field['displayname']); ?>
  3. (<span id="<?php echo $field['identifier']; ?>_counter"><?php echo 128-strlen($TemplateData['editData'][$field['identifier']] ?? ''); ?></span>)
  4. </label>
  5. <input id="<?php echo $field['identifier']; ?>" type="text" autocomplete="off"
  6. name="fdata[<?php echo $field['identifier']; ?>]"
  7. value="<?php echo $TemplateData['editData'][$field['identifier']] ?? ''; ?>"
  8. maxlength="128"
  9. />
  10. <?php if(isset($field['bulkedit'])) { ?>
  11. <select name="fdata[additionalEditOption][<?php echo $field['identifier']; ?>]">
  12. <option value=""><?php echo $I18n->t('manageentry.select.bulkedit'); ?></option>
  13. <option value="add"><?php echo $I18n->t('manageentry.select.bulkedit.add'); ?></option>
  14. <option value="replace"><?php echo $I18n->t('manageentry.select.bulkedit.replace'); ?></option>
  15. <option value="empty"><?php echo $I18n->t('manageentry.select.bulkedit.clear'); ?></option>
  16. </select>
  17. <?php } ?>
  18. </div>
  19. <script type="text/javascript">
  20. {
  21. const inputElement = document.getElementById("<?php echo $field['identifier']; ?>");
  22. const inputCounter = document.getElementById("<?php echo $field['identifier']; ?>_counter");
  23. inputElement.addEventListener("input", event => {
  24. const target = event.currentTarget;
  25. const maxLength = target.getAttribute("maxlength");
  26. const currentLength = target.value.length;
  27. inputCounter.innerHTML = `${maxLength - currentLength}`;
  28. });
  29. }
  30. </script>