Varios valores em um <input>

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Varios valores em um <input>

Fernando Paiva
Salve galera.

Eu tenho um "page template" que renderiza um outro "page template"
para consultas. Então vou nomear de Zpt1 e Zpt2.

O Zpt1 renderiza o Zpt2 por um javascript (window.open) que traz os
resultados de uma consulta de um zsql, os resultados são exibidos em
forma de link, quando eu clico em um link do Zpt2 envio os resultados
ao Zpt1 fechando o Zpt2...Isto ja esta funcionando bem.
O que preciso agora é que o <input> que recebe o valor da consulta do
Zpt2 tenha mais de um valor, ou seja, a cada vez que o usuário fizer a
consulta será exibido o valor que o usuário escolheu, sendo 1 valor ou
mais...Tipo: 1,30,10,300.

Ja tentei fazer isso com uma lista no Zpt1 onde os valores recebidos
do Zpt2 dão um append, mas não tive resultados.

Zpt1
<form>
  <table>
      <input type="hidden" id="cliforn_fantasia" name="cliforn_fantasia">
      <tr>
          <td><input name="cliforn_usuario" id="cliforn_usuario"
size="30"  style="text-align:right;" readonly rows="1">
              <input type="button" value="Consultar"
onClick="Abrir('consulta_cliente',500);">
          </td>

          <td><select name="combo" id="combo">
                      <option tal:repeat="items fp_sql"
                              tal:attributes="value
python:items['fpd_perfil']"
                             
tal:content="python:items['fpd_descricao']"/>
              </select>
          </td>
      </tr>
</form>


Zpt2
<script type="text/javascript">
function updateForm(codigo, nome){
    wd = window.opener;
    cliforn_usuario = wd.document.getElementById("cliforn_usuario");
    cliforn_fantasia = wd.document.getElementById("cliforn_fantasia");
    cliforn_usuario.value = codigo;
    cliforn_fantasia.value = nome;
    window.close();
}
</script>

<table>
 <metal:block tal:define="items options/parametro | nothing"
               tal:condition="exists:items"
               tal:repeat="resultados items">

     <tr tal:define="pintar repeat/resultados/even;"
         tal:attributes="bgcolor python:test(pintar, '#F0F8FF',
'#FFFFFF')">
         <td style="text-align:right;"><a tal:attributes="href
string:javascript:updateForm('${resultados/codigo}','${resultados/nomefantasia}')"
tal:content="resultados/codigo">Codigo</a></td>
         <td><a tal:attributes="href
string:javascript:updateForm('${resultados/codigo}','${resultados/nomefantasia}')"
tal:content="resultados/nomefantasia">Nome</a></td>      
     </tr>
 </metal:block>
</table>

Alguma sugestão ?

's
Fernando Paiva





Para enviar uma mensagem: [hidden email]
Para desistir envie uma mensagem em branco para: [hidden email]
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/zope-pt/

<*> Para sair deste grupo, envie um e-mail para:
    [hidden email]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 

Reply | Threaded
Open this post in threaded view
|

Re: Varios valores em um <input>

Rodrigo Castardo
Opa!

On 10/27/06, pythondeveloper <[hidden email]> wrote:

>
> Salve galera.
>
> Eu tenho um "page template" que renderiza um outro "page template"
> para consultas. Então vou nomear de Zpt1 e Zpt2.
>
> O Zpt1 renderiza o Zpt2 por um javascript (window.open) que traz os
> resultados de uma consulta de um zsql, os resultados são exibidos em
> forma de link, quando eu clico em um link do Zpt2 envio os resultados
> ao Zpt1 fechando o Zpt2...Isto ja esta funcionando bem.
> O que preciso agora é que o <input> que recebe o valor da consulta do
> Zpt2 tenha mais de um valor, ou seja, a cada vez que o usuário fizer a
> consulta será exibido o valor que o usuário escolheu, sendo 1 valor ou
> mais...Tipo: 1,30,10,300.
>
> Ja tentei fazer isso com uma lista no Zpt1 onde os valores recebidos
> do Zpt2 dão um append, mas não tive resultados.
>
> Zpt1
> <form>
>   <table>
>       <input type="hidden" id="cliforn_fantasia" name="cliforn_fantasia">
>       <tr>
>           <td><input name="cliforn_usuario" id="cliforn_usuario"
> size="30"  style="text-align:right;" readonly rows="1">
>               <input type="button" value="Consultar"
> onClick="Abrir('consulta_cliente',500);">
>           </td>
>
>           <td><select name="combo" id="combo">
>                       <option tal:repeat="items fp_sql"
>                               tal:attributes="value
> python:items['fpd_perfil']"
>
> tal:content="python:items['fpd_descricao']"/>
>               </select>
>           </td>
>       </tr>
> </form>
>
>
> Zpt2
> <script type="text/javascript">
> function updateForm(codigo, nome){
>     wd = window.opener;
>     cliforn_usuario = wd.document.getElementById("cliforn_usuario");
>     cliforn_fantasia = wd.document.getElementById("cliforn_fantasia");
>     cliforn_usuario.value = codigo;
>     cliforn_fantasia.value = nome;
>     window.close();
> }
> </script>
>
> <table>
> <metal:block tal:define="items options/parametro | nothing"
>                tal:condition="exists:items"
>                tal:repeat="resultados items">
>
>      <tr tal:define="pintar repeat/resultados/even;"
>          tal:attributes="bgcolor python:test(pintar, '#F0F8FF',
> '#FFFFFF')">
>          <td style="text-align:right;"><a tal:attributes="href
>
> string:javascript:updateForm('${resultados/codigo}','${resultados/nomefantasia}')"
> tal:content="resultados/codigo">Codigo</a></td>
>          <td><a tal:attributes="href
>
> string:javascript:updateForm('${resultados/codigo}','${resultados/nomefantasia}')"
> tal:content="resultados/nomefantasia">Nome</a></td>
>      </tr>
> </metal:block>
> </table>
>
> Alguma sugestão ?
>

eu tenho, eu tenho :)

pra implementar uma lista de valores como valor de um input tu deve usar o
":list"

[]'s!

's
> Fernando Paiva
>
>
>
>
>



--
Castardo
ThreePointsWeb
[hidden email]
+55 61 8166-4109
Reply | Threaded
Open this post in threaded view
|

Re: Varios valores em um <input>

Fernando Paiva
Salve Castardo.

Como ja havia dito a vc pelo msn, consegui fazer. Mas essa sua solução é
muito melhor e fácil de manter...Da maneira que eu fiz, ia ter que
duplicar Zpt e ainda fiz altas manobras com script py.

Obrigado mais uma vez.

[]'s
Fernando Paiva

Rodrigo Castardo escreveu:

> Opa!
>
> On 10/27/06, *pythondeveloper* <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>     Salve galera.
>
>     Eu tenho um "page template" que renderiza um outro "page template"
>     para consultas. Então vou nomear de Zpt1 e Zpt2.
>
>     O Zpt1 renderiza o Zpt2 por um javascript (window.open) que traz os
>     resultados de uma consulta de um zsql, os resultados são exibidos em
>     forma de link, quando eu clico em um link do Zpt2 envio os resultados
>     ao Zpt1 fechando o Zpt2...Isto ja esta funcionando bem.
>     O que preciso agora é que o <input> que recebe o valor da consulta do
>     Zpt2 tenha mais de um valor, ou seja, a cada vez que o usuário fizer a
>     consulta será exibido o valor que o usuário escolheu, sendo 1 valor ou
>     mais...Tipo: 1,30,10,300.
>
>     Ja tentei fazer isso com uma lista no Zpt1 onde os valores recebidos
>     do Zpt2 dão um append, mas não tive resultados.
>
>     Zpt1
>     <form>
>       <table>
>           <input type="hidden" id="cliforn_fantasia"
>     name="cliforn_fantasia">
>           <tr>
>               <td><input name="cliforn_usuario" id="cliforn_usuario"
>     size="30"  style="text-align:right;" readonly rows="1">
>                   <input type="button" value="Consultar"
>     onClick="Abrir('consulta_cliente',500);">
>               </td>
>
>               <td><select name="combo" id="combo">
>                           <option tal:repeat="items fp_sql"
>                                   tal:attributes="value
>     python:items['fpd_perfil']"
>                                
>     tal:content="python:items['fpd_descricao']"/>
>                   </select>
>               </td>
>           </tr>
>     </form>
>
>
>     Zpt2
>     <script type="text/javascript">
>     function updateForm(codigo, nome){
>         wd = window.opener;
>         cliforn_usuario = wd.document.getElementById("cliforn_usuario");
>         cliforn_fantasia = wd.document.getElementById("cliforn_fantasia");
>         cliforn_usuario.value = codigo;
>         cliforn_fantasia.value = nome;
>         window.close();
>     }
>     </script>
>
>     <table>
>     <metal:block tal:define="items options/parametro | nothing"
>                    tal:condition="exists:items"
>                    tal:repeat="resultados items">
>
>          <tr tal:define="pintar repeat/resultados/even;"
>              tal:attributes="bgcolor python:test(pintar, '#F0F8FF',
>     '#FFFFFF')">
>              <td style="text-align:right;"><a tal:attributes="href
>     string:javascript:updateForm('${resultados/codigo}','${resultados/nomefantasia}')"
>     tal:content="resultados/codigo">Codigo</a></td>
>              <td><a tal:attributes="href
>     string:javascript:updateForm('${resultados/codigo}','${resultados/nomefantasia}')"
>     tal:content="resultados/nomefantasia">Nome</a></td>    
>          </tr>
>     </metal:block>
>     </table>
>
>     Alguma sugestão ?
>
>
> eu tenho, eu tenho :)
>
> pra implementar uma lista de valores como valor de um input tu deve
> usar o ":list"
>
> []'s!
>
>     's
>     Fernando Paiva
>
>
>
>
>
>
> --
> Castardo
> ThreePointsWeb
> [hidden email] <mailto:[hidden email]>
> +55 61 8166-4109  



Para enviar uma mensagem: [hidden email]
Para desistir envie uma mensagem em branco para: [hidden email]
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/zope-pt/

<*> Para sair deste grupo, envie um e-mail para:
    [hidden email]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html