Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Como alterar o valor de 'name' em um input?


Zenpashy

Pergunta

Sou iniciante em JavaScript e tenho a seguinte dúvida:

Criei um formulário com o uso de repetição método FOR que consiste em pedir ao usuário quantos "funcionários" ele irá inserir e outras informações.

Ao fazer isso ele adiciona a quantidade de DIVs que o usuário solicitar

nessas DIVs tem campos INPUTs de texto, os quais o conteúdo em texto do VALUE sera solicitado ao usuário com o uso de PROMPT

ele funciona, porém se houver mais de um campo ele dá erro. Imagino que seja pelo fato de estar pedindo para escrever dentro do INPUT de nome (NAME) "x" e quando ele faz a segunda repetição existem 2 INPUTs com o mesmo nome, a solução que pensei, sem saber se é possível, é fazer com que na repetição altere o NAME do INPUT com o uso da comparação IF, a repetição será feita até 10 no máximo.

Vou postar um exemplo apenas do código sem a formatação

quant=prompt("Quantos funcionarios deseja inserir?","");
for (contador=1; contador==quant; contador++){
a=prompt("Digite o nome do funcionário","");
document.write("<div><form name='form1'>");
document.write("<input type='text' name='nome'>");
document.write("</form></div>");
document.form1.nome.value=a;
}

Desde já obrigado

Editado por Zenpashy
Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

A solução mais viável seria criar um Array com essas informações

Exemplo:

<html>
<head>
<script type="text/javascript">
var quant = new Array(9)
function CriarFuncionario() {
for (i=0;i<=9;i++) {
if (quant[i]!=null) {
quant[i]=prompt("Quantos funcionarios deseja inserir?","");
for (contador=1;contador<=quant;contador++){
nome=prompt("Digite o nome do funcionário","");
formulario = document.getElementById("form");
formulario.innerHTML += "<input type='text' name='nome" + i + "'>";
break;
}
}
}
}
</script>
</head>
<body>
<form name="form" action="" method="post" id="form">

</form>
</body>
</html>

Se funcionar, posta aí !

Obs.:

Fiz umas modificações no seu script, pois você estava criando o mesmo formulário várias vezes (não se pode fazer isso) e também dava o mesmo nome ao botão criado (também não é permitido)

Link para o comentário
Compartilhar em outros sites

  • 0

Olha valeu por responder, mas como disse ainda sou inciante de JavaScript

não sei manipular Arrays e não entendo de getElement, imaginei dava para fazer usando array

mas como não sei utilizar.

Se não for pedir de mais você poderia postar o código funcional assim como fiz no exemplo que postei como tópico?

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, fui ver uma coisa aqui...

Pensei que ia precisar utilizar os dados depois (por isso coloquei em um array para resgatar os dados)

Sendo assim, se não for reutilizar os dados pode fazer de outra forma...

Olha como estava seu código:

quant=prompt("Quantos funcionarios deseja inserir?","");
for (contador=1; contador==quant; contador++){
a=prompt("Digite o nome do funcionário","");
document.write("<div><form name='form1'>");
document.write("<input type='text' name='nome'>");
document.write("</form></div>");
document.form1.nome.value=a;
}
O único erro "grave" cometido foi criar várias vezes o mesmo formulário (você sempre colocava o nome de form1) Ficaria mais ou menos assim:
<html>
<head>
<script type="text/javascript">
// Essa variável representa o último valor criado no formulário (foi feita para evitar dois elementos de texto com o mesmo nome)
var backup_numero = 0
function CriarFuncionario() {
// Define a quantidade de funcionários que serão criados
quant=prompt("Quantos funcionarios deseja inserir?","");
// Faz um loop para criar os funcionários
for (contador=1;contador<=quant;contador++){
backup_numero+=1

// Pede para digitar o nome do funcionário
nome=prompt("Digite o nome do funcionário de número" + contador,"");

// Pega o elemento formulário para inserir os valores
formulario = document.getElementById("form1");
// Acrescenta o nome valor
formulario.innerHTML += "<input type='text' name='nome" + backup_numero+1 + "'>";
}
}
</script>
</head>
<body>
<form name="form1" action="" method="post" id="form">

</form>
</body>
</html>

Pronto !

Qualquer coisa, é só postar

Link para o comentário
Compartilhar em outros sites

  • 0

Olá desculpe a demora para enviar outra mensagem é que não acessei o fórum nos últimos tempos

o que eu queria era realmente algo simples, como você vai ver a seguir

mas de qualquer forma como solicitado vou postar o código

<html>
<head>
<title> new document </title>
&lt;script language="javascript">
</script>
<style type="text/css">
body{
    font-family: "Times New Roman";
    font-size: 13pt;
    line-height: 12px;
}
.box{
    border-width: 1px;
    border-style: solid;
    width: 4cm;
    height: 5.5cm;
    float: left;
    padding: 0.5cm 0.4cm 0.4cm 0.4cm;
}
.textbox, .nome{
    border-top-width: 0px;
    border-left-width: 0px;
    border-right-width: 0px;
    border-bottom-width: 1px;
    border-style: solid;
    border-color: #000000;
    text-align: center;
    font-family: "Monotype Corsiva";
    color: #993300;
}
.nome{
    font-size: 18pt;
}
.textbox{
    font-size: 15pt;
    font-weight: bold;
    
}
</style>
</head>
<body>
&lt;script language="javascript">
quant=prompt("Quantos funcionarios deseja inserir?","");
for (contador=1; contador<=quant; contador++){
document.write("<div class='box'><form>");
document.write("<input type='text' size='13' class='nome'><br /><br />");
document.write("De <input type='text' size='4' class='textbox' name='apartir'>a <input type='text' size='4' class='textbox' name='ate'><br /><br />");
document.write("<input type='text' size='6' class='textbox' name='dias'><span style='letter-spacing: 2px;'> Dias</span><br /><br />");
document.write("<input type='text' size='6' class='textbox' name='quantidade'><span style='letter-spacing: 2px;'>  Passes</span><br />");
document.write("</form></div>");
}
</script>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Esqueci de avisar, Ele está configurado para o Firefox2

no explorer as linhas irão cair para linha de baixo.

Agora eu preciso de outra ajuda.

com o último código que postei já dá para entender o que preciso

Vou dar exemplo de valores para os campos

Junior

De: 09/01 a 30/01

15 Dias

30 Passes

Agora eu realmente preciso que os valores dos campos se repitam como antes havia dito, menos o campo NOME

exemplo:

a variavel dias=prompt("Digite quantos dias os vales devem durar?","");

o nome do campo é <input name="dias">

logo após o formulario tentei adicionar como antes e logo lembrei que já tinha feito isso

document.form1.dias.value=dias; // ou seja para escrever no documento dentro do formulario com nome form1, no campo de

// input com nome dias a "variavel dias"

porém como no começo do tópico, ao iniciar o segundo ciclo vão existir campos com o mesmo nome

então isso fará dar erro.

Agora imagino que ficará bem mais fácil com o código completo.

Desde já muito obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Não tentei fazer assim

na verdade acabei fazendo tudo utilizando PHP

aprendi um pouco da linguagem, e pensei assim deve dar certo

só queria saber se o php tem prompt como no JavaScript

então criei um banco de dados que vai capturar os dados do banco e criar as divs

com painel para inserir e excluir funcionários

podendo escolher o metodo completo e individual para criação das divs

quando terminar posto aqui.

Valeu galera.

vou dar uma olhada depois na sua dica

que a primeira vista aparenta ser solução para o primeiro problema

Editado por Zenpashy
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...