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

Form Select Option passa valor para input hidden


Vagner Carneiro

Pergunta

Amigos,

preciso da ajuda de vocês. Tenho um formulário simples de 3 campos email, cidade, nome que grava as informações direto no bd do sistema de email marketing da localweb, sendo que o usuário escolhe através de um select option em qual lista ele quer ser cadatrado. Lista 1, Lista 2, Lista 3, Lista 4, ou Lista 5. O sistema gera automaticamente o formulário pra mim, porém ele não da a opção de fazer a escolha em qual lista o usuário vai se cadastrar. Ele simplesmente gera o formulário com todos os campos referente a cada lista e dessa forma quando o form é preenchido os dados são automaticamente gravado em todas as listas e não somente na que o foi selecionada pelo usuário.

Veja o exemplo do código gerado pelo sistema.

Os campos que estão em vermelho representam cada uma das Listas de 1 a 5.

<form method="post" action="recebeForm.php">

<input type="hidden" name="subscribe[6954]" value="1" />

<input type="hidden" name="subscribe[6955]" value="1" />

<input type="hidden" name="subscribe[6956]" value="1" />

<input type="hidden" name="subscribe[6957]" value="1" />

<input type="hidden" name="subscribe[6958]" value="1" />

<input type="hidden" name="subscribe[6959]" value="1" />

<input type="hidden" name="subscribe[6953]" value="1" />

E-mail* <input name="email" type="text" value="" /></td>

Nome <input name="nome" type="text" value="" />

Lista <input type="hidden" name="attribute[13]" value="" style="width: 98%" />

<input type="submit" value="enviar" />

</form>

O que eu fiz e preciso:

<script>
function troca(){
valor = document.getElementById('selectlista').value;
valortexto = document.getElementById('texto').value;
if(valor == '0'){
document.getElementById('texto').value = "";
}
if(valor == 1){
document.getElementById('texto').value = subscribe[6953];
}
if(valor == 2){
document.getElementById('texto').value = subscribe[6954];
}
if(valor == 3){
document.getElementById('texto').value = subscribe[6955];
}
if(valor == 4){
document.getElementById('texto').value = subscribe[6956];
}
if(valor == 5){
document.getElementById('texto').value = subscribe[6957];
}
if(valor == 6){
document.getElementById('texto').value = subscribe[6958];
}
if(valor == 7){
document.getElementById('texto').value = subscribe[6959];
}
}
</script>
<form method="post" action="recebeForm.php" class="validator">

e-mail <input name="email" type="text"  value="" class="f-input f-mail" size="20" require="true" datatype="email" />

<input type="hidden" name="[color=red]tem q recebe o valor da Lista selecionada, exemplo subscribe[6955][/color]' value="1" />
<select name="" id="selectlista" onblur="troca()" class="f-input f-mail">
<option value="0"> -- escolha uma Lista -- </option>
<option value="[color=red]subscribe[6953][/color]" >[color=blue]Lista 1[/color]</option> 
<option value="[color=red]subscribe[6954][/color]" >[color=blue]Lista 2[/color]</option>
<option value="[color=red]subscribe[6955][/color]" >[color=blue]Lista 3[/color]</option>
<option value="[color=red]subscribe[6956][/color]" >[color=blue]Lista 4[/color]</option>
<option value="[color=red]subscribe[6957][/color]" >[color=blue]Lista 5[/color]</option>
<option value="[color=red]subscribe[6958][/color]" >[color=blue]Lista 6[/color]</option>
<option value="[color=red]subscribe[6959][/color]" >[color=blue]Lista 7[/color]</option>
</select>

Bairro  <input type="text" name="attribute[12]" value="" class="f-input f-mail" size="20" require="true" />
Lista    <input type="hidden" name="attribute[13]" value="[color=blue]tem recebe o nome da LISTA selecionada, exemplo LISTA 3[/color]" class="f-input f-mail" size="20" require="true" />

<input type="submit" class="formbutton" value="Enviar" />    
</form>

O form grava os dados, porém não grava na Lista Selecionada, grava na Lista geral que não é segmentada.

Se alguém tiver alguma outra solução mais simples ou que possa me ajudar com essa agradeço.

Abraço

Vagner

Editado por fercosmig
add tag`s
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Cara em geral isso é uma bica eu pensei em uma gambiarra aqui aparente deu certo tente ai :P

<script type="text/javascript">
var listas = new Array();
listas[0] = "subscribe[6953]";
listas[1] = "subscribe[6954]";
listas[2] = "subscribe[6955]";
listas[3] = "subscribe[6956]";
listas[4] = "subscribe[6957]";
listas[5] = "subscribe[6958]";
listas[6] = "subscribe[6959]";
</script>

<form action="recebeForm.php" method="post">

<select name="" size="1" onchange="this.name = listas[(this.selectedIndex - 1)];">
<option value="">-- escolha uma Lista -- </option>
<option value="1">Lista 1</option> 
<option value="1">Lista 2</option>
<option value="1">Lista 3</option>
<option value="1">Lista 4</option>
<option value="1">Lista 5</option>
<option value="1">Lista 6</option>
<option value="1">Lista 7</option>
</select>

</form>

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...