Problema com javascript

b1k3r_

Membro
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 [[[]]]
 
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");
  }
?>
 
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");
  }
?>


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)
 
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)

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 :)
 
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.
 
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.
 
Back
Topo