1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Problema com javascript

Discussão em 'Web Development' iniciada por b1k3r_, 18 de Julho de 2007. (Respostas: 7; Visualizações: 708)

  1. Hey pessoal, precisava de uma ajuda sff, este é o código e ali esta o problema:
    <?php $var=0; ?>
    while(i<n)
    {
    <?php
    print("form1.txt$var.value=todo[$var];");
    $var+=1;
    print("alert($var);");
    ?>
    i+=1;
    }

    o problema aqui é ele nao incrementar o $var (no alert aparece sempre "1").

    --------------------------------------------------
    A outra alternativa que eu tinha era nem usar php, o que seria

    while(i<n)
    {
    var nome="form1.txt"+i;
    nome.value=todo;
    i+=1;
    }

    Neste dá-me erro de syntaxe :(

    --------------------------------------------------

    O objectivo seria em 7(n do while) textbox por uns valores que vêm de tráz, seria:
    form1.txt0.value=blabla;
    form1.txt1.value=bleble;
    .... assim sucessivamente em 7 textbox, agradecia qualquer ajuda ou alternativa, obrigado [[[]]]
     
  2. p3dro

    p3dro Power Member

    vê se isto te ajuda:

    PHP:
    <?php 
      $n
    =7;
      for(
    $var =0;$var<$n;$var++){
        print(
    "form1.txt$var.value=todo[$var];\n");
        print(
    "alert($var);\n");
      }
    ?>
     

  3. Obrigado pela ajuda p3dro...Dava mas o problema é que neste caso eu sei que o n é igual a 7, mas mais tarde se a empresa quiser acrescentar ou eliminar alguns campos, eu nao vou saber, por isso eu tenho que fazer como se nao soubesse quanto é o n(o seu valor é conhecido atravez de calculos que estao noutra funcao)
     
  4. p3dro

    p3dro Power Member

    ah ok, já percebi

    então podes mesmo fazer em javascript, tipo isto:

    Código:
    for(i=0;i<n;i++){
      document.form1["txt"+i].value=todo[i];
    }
    
    o form1 está hard-coded, podes por ex. criar uma função k tenho o form como parametro e assim poderes adaptar o código a outros formulários.

    espero ter ajudado :)
     
  5. Uuui bacano meu, obrigadão, ja esta a funcionar, tnks mesmo :001:
    registei-me hoje no forum e estou a ver que valeu a pena :wink:
     
  6. MX+

    MX+ Power Member

    Mas convem perceber o erro.
    O teu erro é que tavas a contar com um while do javascript pra te fazer um while de php..
    Passo a explicar:

    Código:
    while(i<n)
    {
    <?php
    print("form1.txt$var.value=todo[$var];");
    $var+=1;
    print("alert($var);");
    ?>
    i+=1;
    }
    Este pedaço de código, quando executado fica:

    Código:
     while(i<n)
    {
         form1.txt0.value=todo[0];
         0 += 1;
         alert(0);
    i+=1;
    }
    Depois disto fica bastante óbvio o que está a acontecer verdadeiramente no javascript =D
    É preciso muito cuidado quando misturam as duas linguagens, porque o PHP é interpretado antes.

    Cumprimentos.
     
  7. Huum ok, ja percebi, tnks pelas ajudas [[]]
     
  8. Mais um :P

    E ca estou eu outra vez com mais um problema/dúvida:

    PHP:
    campos[a].innerHTML="<input type='text' name='txt"+a+"' value=''>"
    Mas eu agora precisava de por um calendario, cujo código é:

    PHP:
    <input name="txt_data" type="text" id="cal-field-1" disabled="true">
          <
    button type="submit" id="cal-button-1">...</button>
          <
    script type="text/javascript">
            
    Calendar.setup({
              
    inputField    "cal-field-1",
              
    ifFormat      "%Y-%m-%d  %H:%M",
              
    showsTime     true,
              
    button        "cal-button-1",
              
    align         "Tr"
            
    });
          </
    script>
    Eu ja tentei por este bocado de código(do calendario) tudo numa linha e trocar as " por ', mas não dá.
    Como faço ou que alternativas para isso ha.
     

Partilhar esta Página