Ayuda con creacion de un formulario a partir de un boton

Iniciado por ElInquisidor, 18 Noviembre 2014, 18:02 PM

0 Miembros y 1 Visitante están viendo este tema.

ElInquisidor

Hola a todos, como el asunto lo dice necesito ayuda o que me guien en el proceso de hacer esto.
Bueno, les explicare que es lo que quiero hacer;
Tengo una base de datos, y un aplicativo en PHP, En un archivo PHP tengo el formulario
deseo colocar un boton al final del cierre del form que me cree un form exactamente igual para poder con un boton insertar varios registros en la base de datos, Estoy desesperado...
este es mi formulario
    <form method="post" enctype="multipart/form-data" name="form1" id="form1">
            <table width="800px" border="0" cellspacing="0" cellpadding="2"  align="center">
            <thead>
                <tr>
                <th colspan="4">.CREACION DE USUARIOS DE MENSAJERIA.</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td><strong>Nombre:</strong></td>
                    <td><input name="nombres" type="text" id="nombres" maxlength="250" value="<?=eliminarInvalidos($_POST["nombres"]); ?>" /></td>
                </tr>
                <tr>
                    <td><strong>E-mail:</strong></td>
                    <td><input name="email" type="text" id="email" maxlength="250" value="<?=eliminarInvalidos($_POST["email"]); ?>" /></td>
                </tr>
                <tr>
                    <td><strong>Celular:</strong></td>
                    <td><input name="celular" type="text" id="celular" maxlength="250" value="<?=soloNumeros($_POST["celular"]); ?>" /></td>
                </tr>
                <tr>
                    <td><strong>Grupos:</strong></td>
                    <td><?
$sql= "SELECT sms_grupos.* ";
$sql.=" FROM sms_grupos";
$sql.=" ORDER BY nombre asc ";

$PSN->query($sql);
$num=$PSN->num_rows();
if($num > 0)
{
while($PSN->next_record())
{
?><input type="checkbox" name="listaasociar[]" value="<?=$PSN->f('id'); ?>"><?=$PSN->f('nombre'); ?><br /><?
}
}
?>
                    </td>
                </tr>
                </tbody>
            </table>
            <input type="hidden" name="funcion" id="funcion" value="" />
            <br />
            <hr color="#0000FF" width="800px" />
            <br />
            <center><input type="button" name="button" onclick="generarForm()" value="Crear Usuario" style="background-color:#FFFFFF;border-color:#0000FF;color:#006600;font-weight:bold"></center>
                 <input type="button" value="Agregar nuevo formulario" onClick="addInput('dynamicInput');">
            </form>

engel lex

con jquery puedes usas click() para hacer el listener al boton y un append() o algo similar para meter lo que vayas a meter...


te recomiendo que busques tutoriales sobre jquery, ya que facilita MUCHO la vida
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

ElInquisidor

Ya leí un poco al respecto de este tema estoy intentando esto no sé si se pueda hacer bueno...
tengo este div que contiene un formulario

<div id="formu">
            <form method="post" enctype="multipart/form-data" name="form1" id="form1">
            <table width="800px" border="0" cellspacing="0" cellpadding="2"  align="center">
            <thead>
                <tr>
                <th colspan="4">.CREACION DE USUARIOS DE MENSAJERIA.</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td><strong>Nombre:</strong></td>
                    <td><input name="nombres" type="text" id="nombres" maxlength="250" value="<?=eliminarInvalidos($_POST["nombres"]); ?>" /></td>
                </tr>
                <tr>
                    <td><strong>E-mail:</strong></td>
                    <td><input name="email" type="text" id="email" maxlength="250" value="<?=eliminarInvalidos($_POST["email"]); ?>" /></td>
                </tr>
                <tr>
                    <td><strong>Celular:</strong></td>
                    <td><input name="celular" type="text" id="celular" maxlength="250" value="<?=soloNumeros($_POST["celular"]); ?>" /></td>
                </tr>
                <tr>
                    <td><strong>Grupos:</strong></td>
                    <td><?
$sql= "SELECT sms_grupos.* ";
$sql.=" FROM sms_grupos";
$sql.=" ORDER BY nombre asc ";

$PSN->query($sql);
$num=$PSN->num_rows();
if($num > 0)
{
while($PSN->next_record())
{
?><input type="checkbox" name="listaasociar[]" value="<?=$PSN->f('id'); ?>"><?=$PSN->f('nombre'); ?><br /><?
}
}
?>
                    </td>
                </tr>
                </tbody>
            </table>
            <input type="hidden" name="funcion" id="funcion" value="" />
            <br />
            <hr color="#0000FF" width="800px" />
            <br />
            <center><input type="button" name="button" onclick="generarForm()" value="Crear Usuario" style="background-color:#FFFFFF;border-color:#0000FF;color:#006600;font-weight:bold"></center>
            </form>
            </div>


y tengo el jquery de este tipo con el append
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$(document).on('ready',function(){
$('#agregar').on('click',function(){
var nuevoformulario = $('#formu')
$('#contenedorcampos').append(nuevoformulario)
})
});



el div donde quiero insertar esto esta debajo del div que contiene el formulario no sé si estoy pensando mal o debería hacerlo de otra forma, en fin la verdad no tengo ni idea
Agradecería cualquier respuesta asi sea... ¡idiota no es así es así!
Me gustaría que me mostraran como lo puedo hacer...
ya después solucionado este inconveniente les tendré otro :)
Gracias  :silbar:

ElInquisidor

Ya solucione el problema

quedo asi

<script>
$(document).on('ready',function(){
$('#agregar').on('click',function(){
var nuevoformulario = $('<div id="formu">'+
            '<form method="post" enctype="multipart/form-data" name="form1" id="form1">'+
            '<table width="800px" border="0" cellspacing="0" cellpadding="2"  align="center">'+
            '<thead>'+
                '<tr>'+
                '<th colspan="4">'+'.CREACION DE USUARIOS DE MENSAJERIA.'+'</th>'+
                '</tr>'+
            '</thead>'+
            '<tbody>'+
                '<tr>'+
                    '<td>'+'<strong>'+'Nombre:'+'</strong>'+'</td>'+
                    '<td>'+'<input name="nombres" type="text" id="nombres" maxlength="250" value="<?=eliminarInvalidos($_POST["nombres"]); ?>" />'+'</td>'+
                '</tr>'+
                '<tr>'+
                    '<td>'+'<strong>'+'E-mail:'+'</strong>'+'</td>'+
                    '<td>'+'<input name="email" type="text" id="email" maxlength="250" value="<?=eliminarInvalidos($_POST["email"]); ?>" />'+'</td>'+
                '</tr>'+
                '<tr>'+
                    '<td>'+'<strong>'+'Celular:'+'</strong>'+'</td>'+
                    '<td>'+'<input name="celular" type="text" id="celular" maxlength="250" value="<?=soloNumeros($_POST["celular"]); ?>" />'+'</td>'+
                '</tr>'+
                '<tr>'+
                    '<td>'+'<strong>'+'Grupos:'+'</strong>'+'</td>'+
                    '<td>'+'<?
$sql= "SELECT sms_grupos.* ";
$sql.=" FROM sms_grupos";
$sql.=" ORDER BY nombre asc ";

$PSN->query($sql);
$num=$PSN->num_rows();
if($num > 0)
{
while($PSN->next_record())
{
?><input type="checkbox" name="listaasociar[]" value="<?=$PSN->f('id'); ?>"><?=$PSN->f('nombre'); ?><br /><?
}
}
?>'+
                    '</td>'+
                '</tr>'+
                '</tbody>'+
            '</table>'+
            '<input type="hidden" name="funcion" id="funcion" value="" />'+
            '<br/>'+
            '<hr color="#0000FF" width="800px" />'+
            '<br/>'+
            '<center>'+'<input type="button" name="button" onclick="generarForm()" value="Crear Usuario" style="background-color:#FFFFFF;border-color:#0000FF;color:#006600;font-weight:bold">'+'</center>'+
            '</form>'+
            '</div>')
$('#contenedorcampos').append(nuevoformulario)
})
});
</script>


:)

ElInquisidor

Ahora quiero insertar cada uno de los formularios en una tabla :( no tengo ni idea de como hacerlo, alguien sabe como?