Foros del Web » Programando para Internet » Javascript »

insertar campos de manera dinámica

Estas en el tema de insertar campos de manera dinámica en el foro de Javascript en Foros del Web. hola todos como estan my problema es el siguiente ojala y me puedan ayudar: tengo un form que utilizo para dos cosas agregar "contacto" y ...
  #1 (permalink)  
Antiguo 20/05/2008, 14:57
Avatar de Devil  
Fecha de Ingreso: agosto-2003
Ubicación: Cartagena
Mensajes: 59
Antigüedad: 20 años, 8 meses
Puntos: 0
insertar campos de manera dinámica

hola todos como estan my problema es el siguiente ojala y me puedan ayudar:

tengo un form que utilizo para dos cosas agregar "contacto" y "modificar esos contacto", son los mismos campos, entre ellos unos radio de seleccion, utilizo una funsion en js que les muestro mas abajo, mi problema es que cuando agrego clientes el valor del radio me lo manda por POST, pero cuando me voy a modificar clientes (proceso donde se encuetra el form) si el cliente tiene contactos los saco de la BD y los muestro he incluso si hay un contacto como principal (badera 0,1) en la BD al que le corresponda lo coloca "CHECKED", pero si estando hay mismo agrego otro contacto me lo coloca pero los valores de esos campos adicionales no me los manda por POST, y no me respeta la integridad del radio (llevan el mismo nombre), si intento cambiar el radio que esta en "CHECKED" por el que acabo de agregar me deja los dos seleccionados que estoy haciendo mal::: si pueden ayudarme please....

este es mi codigo en php y mas abajo mi funsion en js:

$sql3 = "SELECT * FROM " . $GLOBALS['TBL_PREFIX'] . "customeradd WHERE id_cust='$custid'";
$result3= mcq($sql3,$db);
$items = array();
while ($row = mysql_fetch_array($result3)){
$items[] =$row;
}

$num3=sizeof($items);
$sw=0;
print "<fieldset><legend>&nbsp;Datos del Contacto</legend><table border='0' cellspacing='0' cellpadding='4' width='100%' id='tbl_contacto'>";
do{

$aux = array(" "," "," ",1," "," "," ");
if($num3>0){
$bla3 = $items[$sw];
$aux = array($bla3['contact'],$bla3['contact_title'],$bla3['contact_phone'],$sw+1,$bla3['contact_movilnew'],$bla3['contact_phoneotro'],$bla3['contact_email']);
}

print "<tr><td>&nbsp;$lang[contact]</td><td><input $roins type='text' name='contactnew[]' value='" .$aux[0] . "' size=40></td>\n";
print "<td>&nbsp;$lang[contacttitle]</td><td><input $roins type='text' name='contact_titlenew[]' value='" .$aux[1] . "' size=40></td>\n";
print "<td>&nbsp;$lang[contactphone]</td><td><input $roins type='text' name='contact_phonenew[]' value='" .$aux[2] . "' size=15 maxlength='20'></td>\n";
$act="";
if($bla3['contact_activo']=='1')
$act="CHECKED";
print "<td>&nbsp;Principal</td><td><input $roins $act type='radio' name='contact_activo' value='" .$aux[3] . "'></td></tr>\n";
print "<tr><td>&nbsp;Movil</td><td><input $roins type='text' name='contact_movilnew[]' value='" .$aux[4] . "' size=15 maxlength='20'></td>";
print "<td>&nbsp;Otro Telefono</td><td><input $roins type='text' name='contact_phoneotro[]' value='" .$aux[5] . "' size=15 maxlength='20'></td>\n";
print "<td>&nbsp;$lang[contactemail]</td><td><input $roins type='text' name='contact_emailnew[]' value='" .$aux[6] . "' size=40></td></tr>\n";

$sw++;
}while($num3 > $sw);
print "</table></fieldset><br>";
//******************
?>
<script type="text/javascript">
function AddContactToForm()
{
var tbl = document.getElementById('tbl_contacto');
var lastRow = tbl.rows.length;
var iteration = lastRow;
var label = 'Contacto';
var label1 = 'Cargo del Contacto';
var label2 = 'Telefono del Contacto';
var label3 = 'Movil';
var label4 = 'Otro Telefono';
var label5 = 'Correo del Contacto';
var label6 = 'Principal';
var ncon;

if (iteration == 2){
ncon = 2;
//alert(ncon);
}else{
ncon = (iteration + 2)/2;
//alert(ncon);
}
//alert(iteration);

if (iteration > 8 )return(false);

//col1 fila2 Movil
// left cell
var row = tbl.insertRow(lastRow);
var cell1 = row.insertCell(0);
var textNode = document.createTextNode(label3);
cell1.appendChild(textNode);
cell1+=1;

// right cell
var cell2 = row.insertCell(1);
var el2 = document.createElement('input');
el2.type = 'text';
el2.name = 'contact_movilnew[]';
el2.size = '15';
el2.maxlength='20';
cell2.appendChild(el2);
cell2+=1;

//col2 fila2 otro telefono
// left cell
//var row = tbl.insertRow(lastRow);
var cell3 = row.insertCell(2);
var textNode = document.createTextNode(label4);
cell3.appendChild(textNode);
cell3+=1;
// right cell
var cell4 = row.insertCell(3);
var el5 = document.createElement('input');
el5.type = 'text';
el5.name = 'contact_phoneotro[]';
el5.size = '15';
el5.maxlength='20';
cell4.appendChild(el5);
cell4+=1;

//col3 fila2 correo de contacto
// left cell
//var row = tbl.insertRow(lastRow);
var cell11 = row.insertCell(4);
var textNode = document.createTextNode(label5);
cell11.appendChild(textNode);
cell11+=1;
// right cell
var cell12 = row.insertCell(5);
var el7 = document.createElement('input');
el7.type = 'text';
el7.name = 'contact_emailnew[]';
el7.size = '40';
cell12.appendChild(el7);
cell12+=1;

//col1 fila1 contacto
// left cell
var row = tbl.insertRow(lastRow);
var cell5 = row.insertCell(0);
var textNode = document.createTextNode(label);
cell5.appendChild(textNode);
cell5+=1;
// right cell
var cell6 = row.insertCell(1);
var el3 = document.createElement('input');
el3.type = 'text';
el3.name = 'contactnew[]';
el3.size = '40';
cell6.appendChild(el3);
cell6+=1;

//col2 fila1 cargo del contacto
// left cell
//var row = tbl.insertRow(lastRow);
var cell7 = row.insertCell(2);
var textNode = document.createTextNode(label1);
cell7.appendChild(textNode);
cell7+=1;
// right cell
var cell8 = row.insertCell(3);
var el4 = document.createElement('input');
el4.type = 'text';
el4.name = 'contact_titlenew[]';
el4.size = '40';
cell8.appendChild(el4);
cell8+=1;

//col3 fila1 telefono del contacto
// left cell
//var row = tbl.insertRow(lastRow);
var cell9 = row.insertCell(4);
var textNode = document.createTextNode(label2);
cell9.appendChild(textNode);
cell9+=1;
// right cell
var cell10 = row.insertCell(5);
var el6 = document.createElement('input');
el6.type = 'text';
el6.name = 'contact_phonenew[]';
el6.size = '15';
el6.maxlength='20';
cell10.appendChild(el6);
cell10+=1;

//col4 fila1 activo
// left cell
var cell13 = row.insertCell(6);
var textNode = document.createTextNode(label6);
cell13.appendChild(textNode);
cell13+=1;
// right cell

var cell14 = row.insertCell(7);
var el8 = document.createElement('input');
el8.type = 'radio';
el8.checked = false;
el8.value = ncon;
el8.name = 'contact_activo';
cell14.appendChild(el8);
cell14+=1;
}

function RemoveContactToForm()
{
var tbl = document.getElementById('tbl_contacto');
var lastRow = tbl.rows.length;
//alert(lastRow);
if (lastRow > 2){
tbl.deleteRow(lastRow-1);

}
}

Les agradezco de antemano su ayuda....
__________________
Devil...La Verdad Os Hara Libres...El Conocimiento Invensible
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 01:32.