As dialog


As embedded


(to show that there is no difference in the approach)


<script>
  function showValueFunc(formName, formId) {
    // never execute it in edit mode
    if (isPageViewMode()) {
      alert(AJS.$(formName).find('#i_myvalue').val());
    }
  }

  function setValueFunc(formName, formId) {
   if (isPageViewMode()) {
     AJS.$(formName).find('#i_valueToBeSet').val(AJS.$(formName).find('#i_myvalue').val());
   }
  }

  function isPageViewMode() {
   return AJS.$('#wysiwygTextarea_ifr').length === 0;
  }

</script>

Storage format for the demo

<ac:structured-macro ac:macro-id="1e44be9a-086e-4888-a51d-f76122fe42d9" ac:name="confiform-entry-register" ac:schema-version="1">
  <ac:parameter ac:name="formName">myform1</ac:parameter>
  <ac:parameter ac:name="embedded">true</ac:parameter>
  <ac:rich-text-body>
    <p>
      <br/>
    </p>
  </ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="8a1daca4-bcaf-414b-ad7f-491797212a82" ac:name="confiform" ac:schema-version="1">
  <ac:parameter ac:name="formName">myform1</ac:parameter>
  <ac:rich-text-body>
    <p>
      <ac:structured-macro ac:macro-id="db13acea-4acb-4ede-8904-9300d7cbc084" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">myvalue</ac:parameter>
        <ac:parameter ac:name="fieldLabel">My value</ac:parameter>
        <ac:parameter ac:name="fieldDescription">Type some value into this field, then click on show and set value checkbox fields</ac:parameter>
        <ac:parameter ac:name="type">text</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="a59ad43d-7d5d-4ec8-9f0e-b0293c6631e9" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">showValue</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Show my value with JavaScript</ac:parameter>
        <ac:parameter ac:name="type">checkbox</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="a04e1a08-84b1-4d8c-b124-f164de9a62a4" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">setValue</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Set my value with JavaScript</ac:parameter>
        <ac:parameter ac:name="type">checkbox</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="dcace86d-bf96-4d5c-b523-b1642b38c2be" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">valueToBeSet</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Value to be set with JavaScript</ac:parameter>
        <ac:parameter ac:name="type">read_only</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="494b894f-98c1-4481-ac2c-0887dbbd29e2" ac:name="confiform-field-definition-rules" ac:schema-version="1">
        <ac:parameter ac:name="condition">showValue:true</ac:parameter>
        <ac:parameter ac:name="values">showValueFunc(formName, formId);</ac:parameter>
        <ac:parameter ac:name="action">Run custom JavaScript</ac:parameter>
        <ac:parameter ac:name="actionFieldName">showValue</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="10d934ac-26ac-481f-9425-ac48abacd243" ac:name="confiform-field-definition-rules" ac:schema-version="1">
        <ac:parameter ac:name="condition">setValue:true</ac:parameter>
        <ac:parameter ac:name="values">setValueFunc(formName, formId);</ac:parameter>
        <ac:parameter ac:name="action">Run custom JavaScript</ac:parameter>
        <ac:parameter ac:name="actionFieldName">setValue</ac:parameter>
      </ac:structured-macro>
    </p>
  </ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="aa63a37a-fb63-4cbc-959d-64ffd661e539" ac:name="html" ac:schema-version="1">
  <ac:plain-text-body><![CDATA[<script>
  function showValueFunc(formName, formId) {
    // never execute it in edit mode
    if (isPageViewMode()) {
      alert(AJS.$(formName).find('#i_myvalue').val());
    }
  }

  function setValueFunc(formName, formId) {
   if (isPageViewMode()) {
     AJS.$(formName).find('#i_valueToBeSet').val(AJS.$(formName).find('#i_myvalue').val());
   }
  }

  function isPageViewMode() {
   return AJS.$('#wysiwygTextarea_ifr').length === 0;
  }

</script>]]></ac:plain-text-body>
</ac:structured-macro>