Utilizar un Javascript para presentar un campo con subcampos repetibles, permitiendo presentar cada subcampo con comandos específicos de HTML

From ABCD Wiki
Revision as of 09:39, 16 December 2013 by Guilda (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Este procedimiento es una ampliación de "Utilizar un javascript para presentar un campo con subcampos repetibles" ya que permite variar la forma como se presentan los subcampos repetibles de un registro, insertando diferentes comandos HTML dependiendo del delimitador del subcampo.

Supongamos que en nuestro registro tenemos el campo 12 con el siguiente contenido:

12^lhttp://www.aecr.org/images/ImatgesArticles/2010/6/01_RAQUEL.pdf^aThe Woodlands : una forma 
  diferente de gobernar^p5-28^qInsa-Ciriza, R.
12^lhttp://www.aecr.org/images/ImatgesArticles/2010/6/02_MANUEL.pdf^aInfluencia de 
  las dimensiones de la capacidad de absorción en el desarrollo de  nuevos productos en un
  contexto de distrito industrial. Un estudio empírico al caso del textil valenciano
  ^p29-50^qExpósito, M.^qMolina, F.^qCapó, J.

como puede apreciarse el subcampo q es repetible y el subcampo l contiene una URL por lo que se necesita presentarlo a través del comando HREF del lenguaje HTML.


En estas condiciones, el script a utilizar para presentar el campo tiene la siguiente forma:

    '<script>
        campo="'v12+|$$$|'"
        occ=campo.split("$$$")
        limite=occ.length
        for (ix_occ=0;ix_occ<limite;ix_occ++){
           campo=occ[ix_occ]
           c=campo.split("^")
           total=c.length-1
           for (ix=0;ix<=total;ix++){
               if (c[ix]!=""){
                  /* Colocar primero el subcampo l que tiene la URL del articulo
                     para que el título aparezca como un link al texto completo,
                     anteponer el subcampo l al subcampo a.*/
                  if(c[ix].substring(0,1)=="l"){
                     document.writeln("<a href=\"")
                  }
                  /* Con la siguiente línea el subcampo a sale en negrita y a su vez 
                     cierra el tag del a href */
                  if(c[ix].substring(0,1)=="a"){
                     document.writeln("\"><b> ")
                  }
                  /* El subcampo p, páginas, cierra el tag del enlace, cierra la negrita
                     y pone el literal de  Pag.*/
                  if(c[ix].substring(0,1)=="p"){
                    document.writeln("</a></b>. Pag. ")
                  }
                  /* Se separan los autores con ; */
                  if(c[ix].substring(0,1)=="q"){
                     document.writeln(c[ix].substr(1))
                     if (ix!=total) document.writeln(" ;  ")
                  }
               }
           }
           document.writeln("<br>")
        }
    </script>
    '

Cortesía de Daniel Biset: dbiset@yahoo.com