Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pemoamsi

Problemas ao criar segunda função

Recommended Posts

Faltam ainda 3 coisas para acabar o meu projeto, gostava que me ajudassem nesta primeira dúvida :D

 

<!DOCTYPE HTML>
<html>
<head>
   <title></title>
   <script src="jquery.min.js"></script>

   <script type="text/javascript">

  //
  //
  //Apenas fuciona com a primeira função Add, todos os outros não adicionam linhas
  //
  //

       $(document).ready(function() {
           $('#btnAdd').click(function() {
               var num     = $('.clonedInput').length;
               var newNum  = new Number(num + 1);   
               var newElem = $('#input' + num).clone().attr('id', 'input' + newNum);
               newElem.children(':first').attr('id', 'nome_processo' + num).attr('nome_processo', 'nome_processo' + num);
               newElem.children(':first').attr('id', 'proc_check_' + num).attr('proc_check_', 'proc_check_' + num);

               $('#input' + num).after(newElem);
           });        

           $('#btnAdd2').click(function() {
               var num2     = $('.clonedInput2').length;
               var newNum2  = new Number(num2 + 1);   
               var newElem2 = $('#input' + num2).clone().attr('id', 'input' + newNum2);
               newElem2.children(':first').attr('id', 'nome_documento' + num2).attr('nome_documento', 'nome_documento' + num2);

               $('#input' + num2).after(newElem2);
           });

           $('#btnAdd3').click(function() {
               var num3     = $('.clonedInput3').length;
               var newNum3  = new Number(num3 + 1);   
               var newElem3 = $('#input' + num3).clone().attr('id', 'input' + newNum3);
               newElem3.children(':first').attr('id', 'nome_ficheiro' + num3).attr('nome_ficheiro', 'nome_ficheiro' + num3);

               $('#input' + num3).after(newElem2);
           });

           $('#btnAdd4').click(function() {
               var num4     = $('.clonedInput4').length;
               var newNum4  = new Number(num4 + 1);   
               var newElem4 = $('#input' + num4).clone().attr('id', 'input' + newNum4);
               newElem4.children(':first').attr('id', 'nome_anexo' + num4).attr('nome_anexo', 'nome_anexo' + num4);

               $('#input' + num4).after(newElem4);
               $('#btnDel').attr('disabled','');
           });
       });
   </script>
</head>

<body>

<form id="myForm">
   <div id="input1" style="margin-bottom:4px;" class="clonedInput">
       Processo: <input type="text" name="nome_processo1" id="nome_processo1" />
       <input type="checkbox" name="proc_check_1" id="proc_check_1" checked="" />
   </div>
   <div>
       <input type="button" id="btnAdd" value="add" />
   </div>
   <div>
	Tipo de documento: <br /><input type="text" name="nome_documento1" id="nome_documento1" size="33"/>
							<input type="checkbox" name="doc_check_1" value="doc_check_1" checked=""/>
   </div>
   <div>
   	<input type="button" id="btnAdd2" value="add" /><br /> 
   </div>
   <div>
<input type="checkbox" name="processo" value="processo" /> Processo<br />
<input type="checkbox" name="formulario" value="formulario" /> Formulário<br />
<input type="checkbox" name="relatorio" value="relatorio" /> Relatório<br />
<input type="checkbox" name="query" value="query" /> Query<br />
   </div>
   <div>
Nome do ficheiro: <br /><input type="text" name="nome_ficheiro1" id="nome_ficheiro1" size="33"/>
						<input type="checkbox" name="fic_check_1" value="fic_check_1" checked=""/> 
   </div>
   <div>
   	<input type="button" id="btnAdd3" value="add" /><br /> 
   </div>
   <div>
Descrição do Update: <br /><textarea rows="2" cols="25" name="descricao"/></textarea> <br />
   </div>
   <div>
Texto para Email: <br /><textarea rows="3" cols="25" name="texto"></textarea> <br />
   </div>
   <div>
Anexos: <br /><input type="text" name="anexo1" id="anexo1" size="33"/>
						<input type="checkbox" name="ane_check_1" value="ane_check_1" checked=""/>
   </div>
   <div>
   	<input type="button" id="btnAdd4" value="add" /><br /> 
   </div>
   <div>
 		<input type="submit" value="Submit" />
   </div>
</form>

</body>
</html>


<?php 
if (isset($_POST['Submit'])) {

include ("autentication.php");


if (isset($_POST['processo'])) {$processo = 1;}
else {$processo = 0;}
if (isset($_POST['formulario'])) {$formulario = 1;}
else {$formulario = 0;}
if (isset($_POST['relatorio'])) {$relatorio = 1;}
else {$relatorio = 0;}
if (isset($_POST['query'])) {$query = 1;}
else {$query = 0;}


$descricao = $_POST['descricao'];
$texto = $_POST['texto'];

if ($conn)
{
// Espero que esta funcão esteja a funcionar para retornar o id da linha inserida
$sql = "INSERT INTO updates (processo, formulario, relatorio, query, descricao, texto) 
	VALUES ('" . $processo . "', '" . $formulario . "', '" . $relatorio . "', '" . $query . "', '" . $descricao . "', '" . $texto . "') RETURNING id";
    $result = pg_query($conn, $sql);
	$id_update = pg_fetch_result($result, 0, 'id');


//
//
//Faltam os ciclos (while presumo) para que ele insira todos os dados na base de dados de forma correcta
//
//Tem ainda de verificar dentro do ciclo se a checkbox está activada, se não estiver, não adiciona
//
//

$nome_processo = $_POST['nome_processo'];
$sql2 = "INSERT INTO processos (id_update, nome_processo) VALUES ('" . $id_update . "', '" . $nome_processo . "')"	; 
   pg_query($conn, $sql2);


$nome_documento = $_POST['nome_documento'];
$sql3 = "INSERT INTO documentos (id_update, nome_documento) VALUES ('" . $id_update . "', '" . $nome_documento . "')"	; 
   pg_query($conn, $sql3);

$nome_ficheiro = $_POST['nome_ficheiro'];
$sql4 = "INSERT INTO ficheiros (id_update, nome_ficheiro) VALUES ('" . $id_update . "', '" . $nome_ficheiro . "')"	; 
   pg_query($conn, $sql4);

$nome_anexo = $_POST['nome_anexo'];
$sql5 = "INSERT INTO anexos (id_update, nome_anexo) VALUES ('" . $id_update . "', '" . $nome_anexo . "')"	; 
   pg_query($conn, $sql5);
pg_close($conn);
}
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, isso é jQuery, mas lá vai a possível solução

em todas as funções você chama da seguinte maneira

$('#btnAdd').click(function() { ...

 

troque a função 'click' por essa abaixo

$('#btnAdd').live("click", function() {

 

chame todos os eventos jQuery da maneira acima, que provavelmente irá funcionar.

 

 

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Método on é melhor que o método live.

 

http://api.jquery.com/on/

 

O método live irá sair do ar. E para executar ajax, é fundamental o uso da função preventDefault.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.