Jump to content

Ajax que crie Form


Daniivo
 Share

Recommended Posts

Pessoal preciso de uma ajudinha, eu ando aqui a procura de algo que nem sei bem como procurar...

isto deve haver por ai feito...

è ideia por exemplo, Quantos filhos tens?? "10"

arranjar uma maneira de aparecerem 10 formulários com campos por exemplo nome e idade dos respetivos filhos, depois isso sera metido dentro da base de dados....

qual sera a melhor maneira de fazer isto....

Edited by Daniivo
Link to comment
Share on other sites

Podes sempre brincar com os appends no jquery e tornar tudo num só formulário com campos dinâmicos, algo do tipo:


<html>
<head>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">

$(document).ready(function() {

   $("#criar").click(function(){

       var conta = $("#num").val();

       var templateInput = '<input type="text" id="inp___" name="inp___" />';
       var templateSubmit = '<input type="submit" value="submeter" />';
       var flag=false;

       $("#form").empty();

       for(i=0; i<conta; i++){
           $("#form").append("<p>------- Formulário do Filho " + (i+1) + ": --------------</p>");
           $("#form").append("<p>Nome: "+templateInput.replace("___","nome"+i)+"</p>");
           $("#form").append("<p>Idade: "+templateInput.replace("___","idade"+i)+"</p>");
           flag=true;
       }

       if(flag){
           $("#form").append("<p>"+templateSubmit+"</p>");
       }else alert("ERRO!!");

   });

});

</script>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<body>

   <p>Nº Filhos: 
      <input type="text" id="num" name="num" />
      <input type="button" value="criar" id="criar" />
   </p>

   <form id="form" name="form" action="" method="post"></form>

</body>
</html>

Crias os camops do formulário dinamicamente e podes aceder com o teu action do form a esses campos, que estão numerados sequencialmente [0,num[, vê o código fonte da página para veres os nomes dos campos gerados...

Link to comment
Share on other sites

a maneira mais simples =

um filho por página : depois de enfiares um, nova página, novo filho

assim demorar muito, è muito mais pratico estarem ali na pagina a opçao de meter mais 1 ou remover, editar o anterior etc etc...

CLTF eu n percebi como faço o valor as variáveis, ou seja eu vou fazer um post do que ?

Edited by Daniivo
Link to comment
Share on other sites

tira ideias daqui

$("#container").load("ajaxform.php", {count : 3});

<?php
// ajaxform.php
$count = (int)$_POST['count'];
$html = "";
for($i = 0; $i < $count; $++) {
$html.= "<div>";
$html.= "<input name='name[$i]' />";
$html.= "<input name='age[$i]' />";
$html.= "</div>";
}
echo $html;
?>
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

Amigo, tem calma. Já te foi respondida a dúvida de mais de uma maneira, e a comunidade está aqui de voluntário para te ajudar, não te esqueças disso.

calma nada!!! tens que me ajudar!!!

lol tou a brincar contigo!! tu ja me ajudas-te uma data de vezes, e o pessoal vai criando laços, tvz ja nem te lembres... (sentimento nao reciproco :/)

mas atençao nada de paneleiradas....

yoda è verdade ja me deram uma data de ajudas, mas visto que eu nao sei implementar o scipt no php, porque n percebo nada da quilo.... por vezes a coisa esta bem facil para mim fica complicado....

eu quando chegar a casa vou ver o codigo que o Happy meteu ai....

mas Obrigado pessoal 😉

Link to comment
Share on other sites

Pessoal preciso de uma ajudinha, eu ando aqui a procura de algo que nem sei bem como procurar...

isto deve haver por ai feito...

è ideia por exemplo, Quantos filhos tens?? "10"

arranjar uma maneira de aparecerem 10 formulários com campos por exemplo nome e idade dos respetivos filhos, depois isso sera metido dentro da base de dados....

qual sera a melhor maneira de fazer isto....

<html>
<div id="filhos"></div>
<input id="total" type="hidden" value="0">
<input type="button" value="adicionar filho" onclick="adicionar();">
<script type="text/javascript">
function adicionar()
{
var obj = document.getElementById('filhos');
var total = document.getElementById('total');
total.value = parseInt(total.value) + 1;
obj.innerHTML += 'Nome:<input type="text" name="nome[]"><br>';
obj.innerHTML += 'Idade:<input type="text" name="idade[]"><br>';
obj.innerHTML += 'Sexo:<input type="text" name="sexo[]"><br>';
obj.innerHTML += '<hr>';
alert('você tem '+total.value+' filho(s)');
}
</script>

</html>
Edited by yoda
Link to comment
Share on other sites

Pessoal preciso de uma ajudinha, eu ando aqui a procura de algo que nem sei bem como procurar...

isto deve haver por ai feito...

è ideia por exemplo, Quantos filhos tens?? "10"

arranjar uma maneira de aparecerem 10 formulários com campos por exemplo nome e idade dos respetivos filhos, depois isso sera metido dentro da base de dados....

qual sera a melhor maneira de fazer isto....

ACHO QUE FICA MELHOR COM SELECT:

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

<html>

Quantos filhos têm?
<select id="numero_de_filhos" onchange="adicionar_campos();">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<br><br>
<div id="campos" style="width:400px;text-align:center"></div>

<script type="text/javascript">
function adicionar_campos()
{
var campos = document.getElementById('campos');
var filhos = document.getElementById('numero_de_filhos');
campos.innerHTML = '';
for(var n=0; n < filhos.value;n++)
{
campos.innerHTML += 'Nome:<input type="text" name="nome['+n+']"><br>';
campos.innerHTML += 'Idade:<input type="text" name="idade['+n+']"><br>';
campos.innerHTML += 'Sexo:<input type="text" name="sexo['+n+']"><br>';
campos.innerHTML += '<hr>';
}
}
</script>

</html>
Edited by yoda
  • Vote 1
Link to comment
Share on other sites

ACHO QUE FICA MELHOR COM SELECT:

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

<html>

Quantos filhos têm?

<select id="numero_de_filhos" onchange="adicionar_campos();">

<option value="0">0</option>

<option value="1">1</option>

<option value="2">2</option>

<option value="3">3</option>

</select>

<br><br>

<div id="campos" style="width:400px;text-align:center"></div>

<script type="text/javascript">

function adicionar_campos()

{

var campos = document.getElementById('campos');

var filhos = document.getElementById('numero_de_filhos');

campos.innerHTML = '';

for(var n=0; n < filhos.value;n++)

{

campos.innerHTML += 'Nome:<input type="text" name="nome['+n+']"><br>';

campos.innerHTML += 'Idade:<input type="text" name="idade['+n+']"><br>';

campos.innerHTML += 'Sexo:<input type="text" name="sexo['+n+']"><br>';

campos.innerHTML += '<hr>';

}

}

</script>

</html>

mas isso nem esta dentro de um form, se eu quiser meter isso dentro de uam base de dados, como è que eu puxo esses valores por $_post???

Some

Bem vindo ao P@P

Edited by Daniivo
Link to comment
Share on other sites

mas isso nem esta dentro de um form, se eu quiser meter isso dentro de uam base de dados, como è que eu puxo esses valores por $_post???

Some

Bem vindo ao P@P

tens que meter isso dentro da tag form

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

<select id="numero_de_filhos" onchange="adicionar_campos();">

<option value="0">0</option>

<option value="1">1</option>

<option value="2">2</option>

<option value="3">3</option>

</select>

<br><br>

<div id="campos" style="width:400px;text-align:center"></div>

</form>

Link to comment
Share on other sites

tens que meter isso dentro da tag form

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

<select id="numero_de_filhos" onchange="adicionar_campos();">

<option value="0">0</option>

<option value="1">1</option>

<option value="2">2</option>

<option value="3">3</option>

</select>

<br><br>

<div id="campos" style="width:400px;text-align:center"></div>

</form>

isso n funciona!!!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.