usa una puro peticion otro funcion ejemplo dentro como ajax forms drop-down-menu ofbiz

una - ¿Cómo usar ajax en Formas de ofbiz?



peticion ajax ejemplo (1)

Encontré una manera de resolver este problema. Utilizaremos js para publicar, enviar una solicitud y obtener datos con formato json. Ejemplo:

  • mis formas:

    <field name="firstFieldId"> <drop-down allow-empty="false"> <list-options key-name="firstFieldId" list-name="listOptions1" description="${des1}"/> </drop-down> </field> <field name="secondFieldId"> <drop-down allow-empty="false"> <list-options key-name="secondFieldId" list-name="listOptions" description="${des2}"/> </drop-down> </field>

    - crear test.js:

    $(document).ready(function(){ $("select[name=''firstFieldId'']").change(function(){ update($(this).val()); }); }); function update(id) { jQuery.ajax({ url: ''myRequest'', type: "POST", data:{ firstFieldId: id }, success: function(res) { var data = res.listOptions; renderHtml(data); } }); } function renderHtml(data){ var y = ""; for (var x in data){ y += "<option value=''" + data[x].secondFieldId + "''>"; y += data[x].des2 + "</option>"; } $("select[name=''secondFieldId'']").html(y); }

  • Pantallas

    <actions> <set field="layoutSettings.javaScripts[+0]" value="/delys/images/js/logistics.js" global="true"/> </actions>

  • Controller.xml:

    <request-map uri="myRequest"> <security auth="true" https="true"/> <event type="service" invoke="myService"></event> <response name="success" type="request" value="json"></response> </request-map>

    En myService, las opciones de listOptions se analizarán en formato json.
  • petición json en common-controller.xml:

    <request-map uri="json"> <security direct-request="false"/> <event type="java" path="org.ofbiz.common.CommonEvents" invoke="jsonResponseFromRequestAttributes"/> <response name="success" type="none"/> </request-map>

    Este es mi camino, gracias!

Estoy usando una etiqueta desplegable, pero quiero actualizar otros campos después de haber seleccionado una opción en esto. Lo estoy usando en Forms. Sé que podemos usar ajax para enviar y actualizar, pero en ftl, no puedo encontrar qué atributo de campo o desplegable puede ayudar?

¡Gracias!