Foros del Web » Programando para Internet » Javascript »

Script dificil

Estas en el tema de Script dificil en el foro de Javascript en Foros del Web. Hola a todos, tengo el siguiente script y funciona a medias. Pues necesito que me añada texts y combos desde las 2 imagenes(enlaces), pero cada ...
  #1 (permalink)  
Antiguo 04/04/2009, 05:52
thi
 
Fecha de Ingreso: abril-2009
Mensajes: 244
Antigüedad: 15 años, 1 mes
Puntos: 0
Script dificil

Hola a todos,

tengo el siguiente script y funciona a medias. Pues necesito que me añada texts y combos desde las 2 imagenes(enlaces), pero cada enlace en su propia tabla y ahora mismo sólo me añade en la primera tabla.

Para que funcione en el text tiene que escribirse algo.

Os dejo la versión más limpia de codigo para que la entendais más facilmente. Ya he probado a duplicar el script y cambiarle el nombre y que desde el segundo enlace llame a este segundo script, pero no ha funcionado.

Un saludo.

Codigo:

<body>
<form method="post" name="compose" enctype="multipart/form-data" action="">
<table border="1">
<tr>
<th>
<table border='0' width='100%'>
<tr id='attachment_row_1'>
<th>
<input name='upload_1' tabindex='7' type='text' size='15' value='' />
<select name='tbook_agencias_1'>
<option selected>Selecciona...</option>
<option value='Todas'>Todas</option>
<option value='Grupo Sercom'>Grupo Sercom</option>
<option value='Avasa'>Avasa</option>
<option value='Televacaciones'>Televacaciones</option>
<option value='Estivaltour'>Estivaltour</option>
<option value='Grupo Europa'>Grupo Europa</option>
<option value='Airmet'>Airmet</option>
<option value='Unida'>Unida</option>
<option value='Cyba'>Cyba</option>
<option value='Plantour'>Plantour</option>
<option value='Spain Experience S.L.'>Spain Experience S.L.</option>
<option value='Marsans'>Marsans</option>
<option value='Grupo GEA'>Grupo GEA</option>
<option value='Grupo Qualitas'>Grupo Qualitas</option>
<option value='Grupo Star'>Grupo Star</option>
<option value='Cyberagencias'>Cyberagencias</option>
</select>

<select name='tbook_auto_1'>
<option selected>Selecciona...</option>
<option value='Todas'>Todas</option>
<option value='Andalucia'>Andalucia</option>
<option value='Aragon'>Aragon</option>
<option value='Asturias'>Asturias</option>
<option value='Baleares'>Baleares</option>
<option value='Canarias'>Canarias</option>
<option value='Cantabria'>Cantabria</option>
<option value='Castilla la Mancha'>Castilla la Mancha</option>
<option value='Castilla y Leon'>Castilla y Leon</option>
<option value='Cataluña'>Cataluña</option>
<option value='Ceuta y Melilla'>Ceuta y Melilla</option>
<option value='Extremadura'>Extremadura</option>
<option value='Galicia'>Galicia</option>
<option value='La Rioja'>La Rioja</option>
<option value='Madrid'>Madrid</option>
<option value='Murcia'>Murcia</option>
<option value='Navarra'>Navarra</option>
<option value='Pais Vasco'>Pais Vasco</option>
<option value='Valencia'>Valencia</option>
</select>

<a href='#' onclick='attachmentChanged()'><img src='file:///G|/WEBS INTERMEDIA/iconos web/16x16/plus.png' /></a>
</th>
</tr>
</table>

</th>
<th>

<table border='0' width='100%'>
<tr id='attachment_row_1'>
<th>
<input type='text' size='15' name='tcomer' value='' />
<select name='tcomer_agencias'>
<option selected>Selecciona...</option>
<option value='Todas'>Todas</option>
<option value='Grupo Sercom'>Grupo Sercom</option>
<option value='Avasa'>Avasa</option>
<option value='Televacaciones'>Televacaciones</option>
<option value='Estivaltour'>Estivaltour</option>
<option value='Grupo Europa'>Grupo Europa</option>
<option value='Airmet'>Airmet</option>
<option value='Unida'>Unida</option>
<option value='Cyba'>Cyba</option>
<option value='Plantour'>Plantour</option>
<option value='Spain Experience S.L.'>Spain Experience S.L.</option>
<option value='Marsans'>Marsans</option>
<option value='Grupo GEA'>Grupo GEA</option>
<option value='Grupo Qualitas'>Grupo Qualitas</option>
<option value='Grupo Star'>Grupo Star</option>
<option value='Cyberagencias'>Cyberagencias</option>
</select>

<select name='tcomer_auto'>
<option selected>Selecciona...</option>
<option value='Todas'>Todas</option>
<option value='Andalucia'>Andalucia</option>
<option value='Aragon'>Aragon</option>
<option value='Asturias'>Asturias</option>
<option value='Baleares'>Baleares</option>
<option value='Canarias'>Canarias</option>
<option value='Cantabria'>Cantabria</option>
<option value='Castilla la Mancha'>Castilla la Mancha</option>
<option value='Castilla y Leon'>Castilla y Leon</option>
<option value='Cataluña'>Cataluña</option>
<option value='Ceuta y Melilla'>Ceuta y Melilla</option>
<option value='Extremadura'>Extremadura</option>
<option value='Galicia'>Galicia</option>
<option value='La Rioja'>La Rioja</option>
<option value='Madrid'>Madrid</option>
<option value='Murcia'>Murcia</option>
<option value='Navarra'>Navarra</option>
<option value='Pais Vasco'>Pais Vasco</option>
<option value='Valencia'>Valencia</option>
</select>
<a href='#' onclick='attachmentChanged()'><img src='file:///G|/WEBS INTERMEDIA/iconos web/16x16/plus.png' /></a>

</th>
</tr>
</table>

</th>
</tr>
</table>

</FORM>

<script type="text/javascript">
<!--
<!-- //declaracion de arrays para rellenar el combo1
var array_combo1 = new Array(
'Selecciona...', 'Todas', 'Grupo Sercom', 'Avasa', 'Televacaciones', 'Estivaltour', 'Grupo Europa', 'Airmet', 'Unida', 'Cyba', 'Plantour', 'Spain Experience S.L.', 'Marsans', 'Grupo GEA', 'Grupo Qualitas', 'Grupo Star', 'Cyberagencias'
);
var array_combo2 = new Array(
'Selecciona...', 'Todas', 'Andalucia', 'Aragon', 'Asturias', 'Baleares', 'Canarias', 'Cantabria', 'Castilla la Mancha', 'Castilla y Leon', 'Cataluña', 'Ceuta y Melilla', 'Extremadura', 'Galicia', 'La Rioja', 'Madrid', 'Murcia', 'Navarra', 'Pais Vasco', 'Valencia'
);
//fin declaracion de arrays para rellenar el combo1

function attachmentChanged()
{
var num_elementos = 0;
var usedFields = 0;
var fields = new Array();
for (var i = 0; i < document.compose.elements.length; i++) {
if (document.compose.elements[i].type == 'text' &&
document.compose.elements[i].name.substr(0, 7) == 'upload_') {
fields[fields.length] = document.compose.elements[i];
}
}


for (var i = 0; i < fields.length; i++) {
if (fields[i].value.length > 0) {
usedFields++;
}
}


if (usedFields == fields.length) {
var lastRow = document.getElementById('attachment_row_' + usedFields);
if (lastRow) {
var newRow = document.createElement('TR');
newRow.id = 'attachment_row_' + (usedFields + 1);
var td = document.createElement('TH');
newRow.appendChild(td);
td.align = 'left';

td.appendChild(document.createTextNode(' '));
var text = document.createElement('INPUT');
text.type = 'text';
td.appendChild(text);
text.name = 'upload_' + (usedFields + 1);
text.onchange = function() { attachmentChanged(); };
text.size = 15;
text.className = 'fixed';

var combo1 = document.createElement('SELECT');
td.appendChild(combo1);
combo1.name = 'tbook_agencias_' + (usedFields + 1);
//selecciono el array
var seleccion=eval("array_combo1");
//calculo el numero de elementos
num_elementos = seleccion.length;
combo1.length = num_elementos;
for(i=0;i<num_elementos;i++)
{
combo1.options[i].value=seleccion[i].substring(0);
combo1.options[i].text=seleccion[i].substring(0);
}

var combo2 = document.createElement('SELECT');
td.appendChild(combo2);
combo1.name = 'tbook_auto_' + (usedFields + 1);
//selecciono el array
var seleccion=eval("array_combo2");
//calculo el numero de elementos
num_elementos = seleccion.length;
combo2.length = num_elementos;
for(i=0;i<num_elementos;i++)
{
combo2.options[i].value=seleccion[i].substring(0);
combo2.options[i].text=seleccion[i].substring(0);
}
td = document.createElement('TH');

newRow.appendChild(td);
td.align = 'left';
lastRow.parentNode.insertBefore(newRow, lastRow.nextSibling);
}
}
}

if (document.compose.to && document.compose.to.value == "") {
document.compose.to.focus();
} else if (document.compose.subject.value == "") {
document.compose.subject.focus();
} else {
document.compose.message.focus();
}

// -->
</script>

</body>
  #2 (permalink)  
Antiguo 04/04/2009, 07:13
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Script dificil

Te soy sincero, no he ojeado el código.
Pero si a la función le envias el id de la tabla de esa forma la insertas en la tabla que te llega por parametro y no duplicas la función?

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
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 10:25.