filas dinámicas y tablas temporales en postgres
Publicado por carolina (2 intervenciones) el 20/03/2006 21:18:32
Hola a todos!.
Escribo estas líneas porq tengo un problema y espero que alguien me pueda auxiliar.
Tengo un formulario de ingreso de usuarios al que se le debe poder asignar mas de un estado y su municipio, para ello uso dos combos dinámicos que tienen la función submit para que cada vez que se seleccione un estado se carguen los municipios correspondientes al estado seleccionado. El problema empieza cuando al seleccionar un estado y un municipio, se debe generar una fila dinamicamente en el formulario que muestre y guarde estos datos y a su vez debe permitir seleccionar otro estado y otro municipio y agregarse como una segunda fila dinamica y asi sucesivamente.
Consegui este código: Agrega las filas dinamicas
<script language="JavaScript">
function addNewRow(){
var TABLE = document.getElementById("base");
var TROW = document.getElementById("example");
var content = TROW.getElementsByTagName("td");
var newRow = TABLE.insertRow(-1);
newRow.className = TROW.attributes['class'].value;
insertLOselect(content,newRow);
var newRow2 = TABLE.insertRow(-1);
newRow2.className = TROW.attributes['class'].value;
//window.alert(content);
copyRow(content,newRow2);
}
function removeLastRow() {
var TABLE = document.getElementById("base");
if(TABLE.rows.length > 2) {
TABLE.deleteRow(TABLE.rows.length-1);
TABLE.deleteRow(TABLE.rows.length-1);
}
}
function appendCell(Trow, txt) {
var newCell = Trow.insertCell(Trow.cells.length)
newCell.innerHTML = txt
}
function copyRow(content,Trow) {
var cnt = 0;
for (; cnt < content.length; cnt++) {
appendCell(Trow, content[cnt].innerHTML);
}
}
function insertLOselect(content,Trow) {
var cnt = 0;
for (; cnt < content.length-1; cnt++) {
appendCell(Trow, ' ');
}
str = '<td>';
//str += ' <select id="LO" class="combo" name="logical[]">';
//str += ' <option value="and">and</option>';
//str += ' <option value="or">or</option>';
//str += ' </select>';
//str +='<input name="values1" size="50" id="value1" type="text" value="<? echo $id_edo; ?>">';
//str +='<input name="values2" size="50" id="value2" type="text" value="<? echo $id_municipio; ?>">';
str += '</td>';
appendCell(Trow,str);
}
</script>
este es el código html
<form name="form1" method="post" action="tabla_dinamica.php">
<table id="base" border="0" width="100%">
<tbody>
<tr class="celda">
<td colspan="3">Adicionar o Remover campos por criterio</td>
<td>
<input class="boton" value="[+]" onclick="addNewRow(event)" alt="Adicionar" type="button">
<input class="boton" value="[-]" onclick="removeLastRow(event)" alt="Remover" type="button">
</td>
</tr>
<tr id="example" class="celda">
<td>
<?
include("../funciones_y_estilos/combos.php");
echo"id_edo ".$id_edo = combo_estado($_POST[id_edo]);
$id_edo = $_POST[id_edo];
echo"id_edo ".$id_edo;
echo"<br>";
<td>
<?
if($id_edo==""){?>
<select name="id_municipio">
<option value="" >- Seleccione -</option>
</select>
<? }else if($id_edo!=""){
$id_mun = comboMunicipio($_POST[id_edo],$_POST[id_municipio]);
$id_mun = $_POST[id_mun];
}
?>
</td>
<td>
<input name="values1" size="50" id="value1" type="text" value="<? echo $id_edo; ?>">
<input name="values2" size="50" id="value2" type="text" value="<? echo $id_municipio; ?>">
<input name="btnAction" value="next" type="hidden">
</td>
<td> </td>
</tr>
</body>
Cuando le doy al boton [+] el agrega exactamente lo que se muestra
y si en la segunda fila que se genera selecciono otro estado se recarga la pag y pierde la primera seleccion. Estoy usando como manejador de base de datos postgres, la verdad ya no sé como resolver este problema. porque necesito almacenar los valores para luego insertarlos o modificarlos segun sea el caso
Escribo estas líneas porq tengo un problema y espero que alguien me pueda auxiliar.
Tengo un formulario de ingreso de usuarios al que se le debe poder asignar mas de un estado y su municipio, para ello uso dos combos dinámicos que tienen la función submit para que cada vez que se seleccione un estado se carguen los municipios correspondientes al estado seleccionado. El problema empieza cuando al seleccionar un estado y un municipio, se debe generar una fila dinamicamente en el formulario que muestre y guarde estos datos y a su vez debe permitir seleccionar otro estado y otro municipio y agregarse como una segunda fila dinamica y asi sucesivamente.
Consegui este código: Agrega las filas dinamicas
<script language="JavaScript">
function addNewRow(){
var TABLE = document.getElementById("base");
var TROW = document.getElementById("example");
var content = TROW.getElementsByTagName("td");
var newRow = TABLE.insertRow(-1);
newRow.className = TROW.attributes['class'].value;
insertLOselect(content,newRow);
var newRow2 = TABLE.insertRow(-1);
newRow2.className = TROW.attributes['class'].value;
//window.alert(content);
copyRow(content,newRow2);
}
function removeLastRow() {
var TABLE = document.getElementById("base");
if(TABLE.rows.length > 2) {
TABLE.deleteRow(TABLE.rows.length-1);
TABLE.deleteRow(TABLE.rows.length-1);
}
}
function appendCell(Trow, txt) {
var newCell = Trow.insertCell(Trow.cells.length)
newCell.innerHTML = txt
}
function copyRow(content,Trow) {
var cnt = 0;
for (; cnt < content.length; cnt++) {
appendCell(Trow, content[cnt].innerHTML);
}
}
function insertLOselect(content,Trow) {
var cnt = 0;
for (; cnt < content.length-1; cnt++) {
appendCell(Trow, ' ');
}
str = '<td>';
//str += ' <select id="LO" class="combo" name="logical[]">';
//str += ' <option value="and">and</option>';
//str += ' <option value="or">or</option>';
//str += ' </select>';
//str +='<input name="values1" size="50" id="value1" type="text" value="<? echo $id_edo; ?>">';
//str +='<input name="values2" size="50" id="value2" type="text" value="<? echo $id_municipio; ?>">';
str += '</td>';
appendCell(Trow,str);
}
</script>
este es el código html
<form name="form1" method="post" action="tabla_dinamica.php">
<table id="base" border="0" width="100%">
<tbody>
<tr class="celda">
<td colspan="3">Adicionar o Remover campos por criterio</td>
<td>
<input class="boton" value="[+]" onclick="addNewRow(event)" alt="Adicionar" type="button">
<input class="boton" value="[-]" onclick="removeLastRow(event)" alt="Remover" type="button">
</td>
</tr>
<tr id="example" class="celda">
<td>
<?
include("../funciones_y_estilos/combos.php");
echo"id_edo ".$id_edo = combo_estado($_POST[id_edo]);
$id_edo = $_POST[id_edo];
echo"id_edo ".$id_edo;
echo"<br>";
<td>
<?
if($id_edo==""){?>
<select name="id_municipio">
<option value="" >- Seleccione -</option>
</select>
<? }else if($id_edo!=""){
$id_mun = comboMunicipio($_POST[id_edo],$_POST[id_municipio]);
$id_mun = $_POST[id_mun];
}
?>
</td>
<td>
<input name="values1" size="50" id="value1" type="text" value="<? echo $id_edo; ?>">
<input name="values2" size="50" id="value2" type="text" value="<? echo $id_municipio; ?>">
<input name="btnAction" value="next" type="hidden">
</td>
<td> </td>
</tr>
</body>
Cuando le doy al boton [+] el agrega exactamente lo que se muestra
y si en la segunda fila que se genera selecciono otro estado se recarga la pag y pierde la primera seleccion. Estoy usando como manejador de base de datos postgres, la verdad ya no sé como resolver este problema. porque necesito almacenar los valores para luego insertarlos o modificarlos segun sea el caso
Valora esta pregunta


0