Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Formulario dinamico ...

Estas en el tema de Formulario dinamico ... en el foro de Frameworks JS en Foros del Web. Hola amigos del foro ... tengo el siguiente formulario para capturar informacion: Código PHP: $conn  =  conectar ();  // Llama a la funcion de conexion a la BD            $sql1  = ( "select c.idcont from contabilizacion c where c.idcont <> null or c.idcont = null or c.idcont > 0" );          $respu1  ...
  #1 (permalink)  
Antiguo 22/09/2005, 08:20
 
Fecha de Ingreso: agosto-2005
Mensajes: 192
Antigüedad: 18 años, 8 meses
Puntos: 0
Formulario dinamico ...

Hola amigos del foro ... tengo el siguiente formulario para capturar informacion:

Código PHP:
$conn conectar(); // Llama a la funcion de conexion a la BD 
         
$sql1 = ("select c.idcont from contabilizacion c where c.idcont <> null or c.idcont = null or c.idcont > 0");         

$respu1 mysql_query($sql1); 
$res1 mysql_num_rows($respu1); 

if(
$res1 == 0){ 

$sql1 "insert into contabilizacion (idcont, numdoc, codcuenta, nitcontab, indcucontab, debito, credito, vrbase, detacontab, naturaleza) values ('$idcont', '$numdoc', '$codcuenta', '$nitcontab', '$indcucontab', '$debito', '$credito', '$vrbase', '$detacontab', '$naturaleza')"
$respu1 mysql_query($sql1); 


Esta es la Tabla:

CREATE TABLE contabilizacion
(
idcont int NOT NULL AUTO_INCREMENT,
numdoc varchar(5) NOT NULL,
codcuenta varchar(8) NOT NULL,
nitcontab varchar(11) NOT NULL,
indcucontab varchar(2) NOT NULL,
debito double,
credito double,
detacontab text,
vrbase double,
naturaleza char(1),
PRIMARY KEY (idcont),
INDEX (numdoc),
FOREIGN KEY (numdoc) REFERENCES documento(numdoc) ON UPDATE CASCADE ON DELETE CASCADE,
INDEX (codcuenta),
FOREIGN KEY (codcuenta) REFERENCES cuentas(codcuenta) ON UPDATE CASCADE ON DELETE CASCADE
) TYPE = INNODB;

Necesito que este formulario sea dinamico, osea que en mi pagina exista un boton que se llame agregar que me permita adicionar varios formularios en mi pagina y al final haya un boton aceptar que inserte
todos los item en mi BD.


El codigo de ayuda es el siguiente ... pero la verdad estoy un poco confundido.

Código PHP:
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 

<script language="javascript"> 

data="<input type='text' name='numdoc[]' id='numdoc' class='txtBoxStyle' size='10'><a hre='#' onClick='DeleteRow(this)'> <img src='SIGDOC/ICONOS/SUBMIT.GIF' border='0'></a><input type='radio' name='cierto' id='cierto'>"; 

function AddRowsToTable(code) //no necesario pero en caso de que quieras agregar otra cosa 

    var tbl = document.getElementById('tblSample'); 
    var lastRow = tbl.rows.length; 
    var row = tbl.insertRow(lastRow); 
    var cellRight = row.insertCell(0); 
    cellRight.innerHTML=code; 


function DeleteRow(x) 

    while (x.tagName.toLowerCase() !='tr') 
    { 
        if(x.parentElement) 
            x=x.parentElement; 
        else if(x.parentNode) 
            x=x.parentNode; 
        else 
    return; 
    } 

    var rowNum=x.rowIndex; 

    while (x.tagName.toLowerCase() !='table') 
    { 
    if(x.parentElement) 
        x=x.parentElement; 
    else if(x.parentNode) 
        x=x.parentNode; 
    else 
    return; 
    } 
    x.deleteRow(rowNum); 


function RemoveRowFromTable(rowid) { 
    //alert("sadfs"); 
    var tbl = document.getElementById(iteration); 
        //var lastRow = tbl.rows.length; 
        //if (lastRow > 1) 
        tbl.deleteRow(rowid); 



function este() 
{
    elem=document.all?document.all.numdoc:document.getElementById('numdoc');
        
    if(elem.length){
        elem[elem.length-1].focus();
    }else{
        elem.focus();
    }
}
</script> 

</head> 

<body> 
<form id="formulario" name="formulario" method="post" action="<?=$_SERVER['PHP_SELF']?>"> 
<table cellpadding="0" cellspacing="0" width="304" border="0"> 
    <tr> 
        <td> 
        Respuestas:&nbsp;<input name="button" type="button" onClick="AddRowsToTable(data);este();return false;" value="+" class="Buttonforms"></td> 
         
        </td> 
    </tr> 
    <tr> 
        <td> 
            <table cellpadding="1" cellspacing="0" width="100%" id="tblSample" border="0"> 
            </table> 
        </td> 
    </tr> 
    <tr> 
        <td> 
        <hr> 
        <input type="submit"> 
        </td> 
    </tr> 
</table> 
<hr> 

<?php 
//obtener valores de numdoc 
$numdoc=isset($_POST['numdoc'])?$_POST['numdoc']:array(); 

//answers 
echo('<b>Valores de numdoc[]</b>:<br>'); 
foreach(
$numdoc as $ans){ 
    echo(
$ans.' <br>'); 

?> 
</form> 
</body> 
</html>
Como lo convierto a dinamico? ... como lo haria ahora ???? ** teniendo presente que ahora no solo voy a insertar un item sino todos los que vaya agregando ..... hasta N.

Gracias por tu colaboracion;

  #2 (permalink)  
Antiguo 23/09/2005, 16:55
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Ya Cluster en otro mensaje te avizó evites repetir temas. Va contra las políticas del foro... por favor, para tu propio beneficio (un mensaje = mejor seguimiento) sigue esta norma.

http://www.forosdelweb.com/f13/sera-que-pueden-colaborar-con-temas-dinamicos-336078/
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 26/09/2005, 15:36
 
Fecha de Ingreso: agosto-2005
Mensajes: 192
Antigüedad: 18 años, 8 meses
Puntos: 0
Es que son muy lentos

Oye lo que pasa es que los foros de Ajax y Javascrips son muy lentos para resolver inquietudes ...

Se desespera uno tratando de encontrar respuesta.

Eso si con excepto del foro de PHP Cluster ... si se preocupa por resolver inquietudes.

Es mi apreciacion
  #4 (permalink)  
Antiguo 26/09/2005, 16:12
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
loading..........



creo que tu problema se soluciona creando elementos, guiate por este código

Código PHP:
function NA_nuevo_file(_target,nombre)
{
    var 
newFriend document.createElement('input');
    var 
_p document.createElement('p');
    
newFriend.type 'file';
    
newFriend.name nombre;
    
newFriend.size '50';
    
document.getElementById(_target).appendChild(_p);
    
document.getElementById(_target).appendChild(newFriend);
}
<
input class="boton" value="Aumentar archivos" onclick="NA_nuevo_file('_NA_nuevo_file','archis[]');" type="button">

<
fieldset id="_NA_nuevo_file">
<
legend>Adjuntar archivos</legend>
<
input size="50" name="archis[]" class="input-file" type="file">
</
fieldset

connection closed.
__________________

Maborak Technologies
  #5 (permalink)  
Antiguo 27/09/2005, 06:25
 
Fecha de Ingreso: agosto-2005
Mensajes: 192
Antigüedad: 18 años, 8 meses
Puntos: 0
Maborak ... esto es lo que necesito

A continuacion describo mi problemita a resolvar...

Hola amigos del foro

Necesito crear un formulario de la siguiente forma:

El formulario debe tener un boton Guardar y otro + Agregar Form

El boton + Agregar form debe permitirme ir agregar los siguientes campos cuando de clic sobre el.

(numdoc, Cod cuenta, nit o CC beneficiario, CU, Debito, Credito).

Si doy clic de nuevo sobre el boton form me debe permitir agregar un nuevo formulario con los campos

(numdoc, Cod cuenta, nit o CC beneficiario, CU, Debito, Credito) .... asi sucecivamente.

Si doy clic sobre el boton agregar todos los formularios deben agregarse en una tabla de mi BD.

Mi tabla es
CREATE TABLE contabilizacion
(
idcont int NOT NULL AUTO_INCREMENT,
numdoc varchar(5) NOT NULL,
codcuenta varchar(8) NOT NULL,
nitcontab varchar(11) NOT NULL,
indcucontab varchar(2) NOT NULL,
debito double,
credito double,
PRIMARY KEY (idcont),
INDEX (numdoc),
) TYPE = INNODB;

.... hay que tener presente que los campos los formularios al ingresarcen el la tabla estos deben incrementar mi Idcont que es la llave primaria de mi tabla.

Espero este bien claro y lograr contar con su ayuda.

Gracias...
  #6 (permalink)  
Antiguo 27/09/2005, 06:36
 
Fecha de Ingreso: julio-2005
Mensajes: 90
Antigüedad: 18 años, 9 meses
Puntos: 1
Esperas contar con ayuda ??, jejej, pero con ayuda para que te lo hagamos dirás. Esto es increible !!, últimamente la peña se limita a describir su problema o el tipo de aplicación que necesita y a esperar a que alguien se lo haga. Como siempre he dicho, creo que este foro y todos los demas foros de ayuda, tienen como finalidad resolver dudas puntuales, pero en ningún caso, crear aplicaciones desde cero.
  #7 (permalink)  
Antiguo 27/09/2005, 06:58
 
Fecha de Ingreso: agosto-2005
Mensajes: 192
Antigüedad: 18 años, 8 meses
Puntos: 0
Oye esfumate ....

Como ya te he dicho solo necesito de una buena guia... :-p
  #8 (permalink)  
Antiguo 27/09/2005, 10:06
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Cita:
Iniciado por higi
Como ya te he dicho solo necesito de una buena guia... :-p
MaBoRaK te ha dado una Respuesta. Incluso te ha dicho que puedes usar el código como guía, pero tú ni siquiera le has contestado si te sirve o si lo has probado.

Saludos,
  #9 (permalink)  
Antiguo 27/09/2005, 11:09
 
Fecha de Ingreso: agosto-2005
Mensajes: 192
Antigüedad: 18 años, 8 meses
Puntos: 0
Gracias ....

He estado tratando de correr el codigo pero no funciona ... tiene algunos errores de Sintaxis ... no estoy muy seguro

Este es uno de ellos

Parse error: syntax error, unexpected ',', expecting '&' or T_VARIABLE in C:\SERVIDOR\WEB\Prueba03.php on line 4

Asi es como lo tengo:

Código PHP:
html>
<body>
<?php 
function NA_nuevo_file(_target,nombre

    var 
newFriend document.createElement('input'); 
    var 
_p document.createElement('p'); 
    
newFriend.type 'file'
    
newFriend.name nombre
    
newFriend.size '50'
    
document.getElementById(_target).appendChild(_p); 
    
document.getElementById(_target).appendChild(newFr  iend); 

 
?>
<input class="boton" value="Aumentar archivos" onclick="NA_nuevo_file('_NA_nuevo_file','archis[]');" type="button"> 

<fieldset id="_NA_nuevo_file"> 
<legend>Adjuntar archivos</legend> 
<input size="50" name="archis[]" class="input-file" type="file"> 
</fieldset> 

</body>
</html>
  #10 (permalink)  
Antiguo 27/09/2005, 11:13
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola de nuevo.

No tienes que encerrar function NA_nuevo_file con las etiquetas <?php ?> No es código PHP.

Saludos,
  #11 (permalink)  
Antiguo 27/09/2005, 14:37
 
Fecha de Ingreso: agosto-2005
Mensajes: 192
Antigüedad: 18 años, 8 meses
Puntos: 0
Pregunta Ok ejecuto

Pero el problema radica cuando necesito insertar con un solo click varios campos .... no uno solo.

nit, ced, nombre, .... etc.

Gracias ....
  #12 (permalink)  
Antiguo 28/09/2005, 17:29
Avatar de edwinandlozano  
Fecha de Ingreso: octubre-2003
Mensajes: 272
Antigüedad: 20 años, 6 meses
Puntos: 0
pues sencillo cada fila que son los campos quemencionas son un formulario entonces al dar click manda los datos del form.
  #13 (permalink)  
Antiguo 29/09/2005, 01:44
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Cita:
Iniciado por higi
Oye lo que pasa es que los foros de Ajax y Javascrips son muy lentos para resolver inquietudes ...

Se desespera uno tratando de encontrar respuesta.

Eso si con excepto del foro de PHP Cluster ... si se preocupa por resolver inquietudes.

Es mi apreciacion
Qué tal higi,

Vamos a ver, lo que que quieres en este caso no es resolver una inquietud, si no que que te hagan a medida un trabajo que incluye trabajo en el servidor y en el cliente y que necesita de buenos conocimientos y un tiempo de trabajo por lo que normalmente se cobra.

Para resolver inquietudes debes postear preguntas puntuales para cada cuestión. Comienza por crear un formulario base y trabaja la parte cliente para crear al vuelo más campos y consulta sólo eso hasta tenerlo claro y listo y luego te metes con la parte del servidor.

Con venir y regar los foros dejando el sql para crear una tabla en una bd por un lado, una consulta sql que no tiene que ver y un script js copipasteado que no tiene tampoco nada que ver con lo que buscas hacer no es suficiente.


Espero no resultar demasiado dura pero seré clara: lo que quieres hacer es medio complejo. Si no lo sabes hacer es muy simple: no lo hagas, y si lo necesitas siempre puedes contratar a alguien que te lo haga a medida pero no puedes pretender que te hagan íntegro un trabajo por el que normalmente se cobra.

Te he borrado yá unos cuántos mensajes idénticos a este y aquí hay otros tantos que aún permanecen además de este:
http://www.forosdelweb.com/f13/como-hacer-formulario-336775/
http://www.forosdelweb.com/f14/como-hago-formulario-336935/
http://www.forosdelweb.com/f13/como-hago-formulario-336761/

Por favor, haz las cosas tú mismo poco a poco y plantea preguntas puntuales y concretas. Si no sabes ni cómo comenzar, entonces es que no puedes hacerlo y necesitas que alguien te lo haga desde cero a medida. En ese caso lo pides directamente a ver si alguien te lo quiere hacer gratis pero no hagas perder más el tiempo a la gente intentándote ayudar a hacer algo que no vas a saber hacer porque te faltan los conocimientos elementales para hacer algo como lo que pides.

Y por favor, no abras más temas iguales. Yá se te han dado varios avisos al respecto, espero que este aviso sea el último.

Un saludo
  #14 (permalink)  
Antiguo 12/10/2005, 07:31
 
Fecha de Ingreso: agosto-2005
Mensajes: 192
Antigüedad: 18 años, 8 meses
Puntos: 0
.... Definitivamente

.... Definitivamente .... me aclaras lo que he dicho.



Bueno estoy casi apunto de terminarlo ... por fin. de todas formas de nada.

Cuando termine les enviare el codigo. Pues para que aprendamos un poco mas.... Y salgan de lo poco que se encuentra de Ajax. Que es ajax ???

Bueno me voy para mi sesion favorita PHP y java scrip esta cada dia mejor.

  #15 (permalink)  
Antiguo 12/10/2005, 12:09
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Cita:
Iniciado por higi
.... Definitivamente .... me aclaras lo que he dicho.



Bueno estoy casi apunto de terminarlo ... por fin. de todas formas de nada.
Definitivamente lo que aclaro es que si no quieres tener que esperar lo mejor es que aprendas en vez de pretender que los demás hagan tu trabajo gratis.
  #16 (permalink)  
Antiguo 12/10/2005, 12:43
 
Fecha de Ingreso: agosto-2005
Mensajes: 192
Antigüedad: 18 años, 8 meses
Puntos: 0
... Ay una frase por ahi que dice ....


" LOS BUENOS ARTISTAN COPIAN ... LOS GRANDES ROBAN... "


JEJEJE ...
  #17 (permalink)  
Antiguo 12/10/2005, 13:15
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Veo que higi continua con su costumbre de, o no leer los mensajes que le ponen, o contestar cosas que nada tienes que ver.

Dedicidamente es un caso perdido

Saludos,
  #18 (permalink)  
Antiguo 14/10/2005, 06:41
Avatar de Superlinux  
Fecha de Ingreso: octubre-2005
Ubicación: Colombia
Mensajes: 662
Antigüedad: 18 años, 6 meses
Puntos: 1
Que mala actitud

.... uhhhhhh
__________________
"La vida sigue su curso, tú toma parte de ella."
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:33.