# bit-form/2.9.1/includes/Admin/Form/ExtraFieldJS/OtherOptionJS.php

Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator &amp; Custom Form Builder, version 2.9.1. 29 lines.

- Page: https://pluginprobe.com/plugins/bit-form/2.9.1/code/includes/Admin/Form/ExtraFieldJS/OtherOptionJS.php
- Raw: https://pluginprobe.com/plugins/bit-form/2.9.1/raw/includes/Admin/Form/ExtraFieldJS/OtherOptionJS.php
- Modified: 2023-07-16T07:55:48+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/bit-form/2.9.1/code/includes/Admin/Form/ExtraFieldJS/OtherOptionJS.php#L10-L20`.

```php
<?php

namespace BitCode\BitForm\Admin\Form\ExtraFieldJS;

class OtherOptionJS
{
  public static function init($fk, $field, $contentId)
  {
    return <<<FUNCTIONDEF
        function initAddOtherOpt(formContentId = null) {
          const contentIds = formContentId ? [formContentId] : Object.keys(bf_globals);
          contentIds.forEach(contentId => {
            bfSelect("#form-"+contentId).querySelectorAll("input[data-bf-other-inp]").forEach(function(el){
              el.addEventListener("keyup",function(e){
                e.target.parentNode.parentNode.querySelector("input").value = el.value;
                e.target.parentNode.parentNode.querySelector("input").dispatchEvent(new Event('input'));
              });
            });
          })
        }
        function resetOtherOpt(){
          document.querySelectorAll("input[data-oopt]").forEach(function(el){
            el.value = '';
          });
        }
FUNCTIONDEF;
  }
}

```
