Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/07/2003, 01:58
josmarlag
 
Fecha de Ingreso: julio-2003
Mensajes: 4
Antigüedad: 20 años, 9 meses
Puntos: 0
Enviar el contenido de un select (nombres y datos) en un formulario POST

A ver si alguien me puede ayudar...
Es un multimail: enviar a diferentes mails un mismo mensaje
Tengo en una pagina dos selects, en uno hay una agenda con nombres y direcciones de correo y un campo de texto que sirve para no mostrar todos los datos sino los que coinciden con el patron. Vamos, de la forma...
Código PHP:
<h2>Formulario de envio de MultiMail</h2>
<
form name="mail" method="post" action="enviarmails.php">
Buscar: <input type=text name=busca> <input type=button name=boton value=Buscar onClick="javascript:

  // Defino el array con los datos
  lista = new Array('Juan','Pepe','Luis');
  valores = new Array('[email protected]','[email protected]','[email protected]');

    for (x=document.mail.personas.length;x>=0;x--)
      document.mail.personas[x] = null;

    // Obtengo el valor del texto
    texto = document.mail.busca.value;

    // Creo la expresión regular
    expr = new RegExp('^' + texto,'i');

    // Recorro la lista. Si la expresión regular es OK
    y = 0;

    for (x=0;x<lista.length;x++) {
      if (expr.test(lista[x])) {
        document.mail.personas[y] = new Option(lista[x]);
        document.mail.personas[y].value = valores[x];
        y++;
      }
    }


"
>


<
br>
<
table><tr><td>
<
select name="personas" size="10"><option value="" name="a">-- BUSQUE --</option>

</
select>
</
td><td>
<
input type="button" name="insertar" onClick="javascript:
if(document.mail.personas.selectedIndex>-1){

var x= new Option(document.mail.personas.options[document.mail.personas.selectedIndex].text, document.mail.personas.value);
document.mail.destinatarios.add(x,0);
document.mail.destinatarios.selectedIndex=-1;
document.mail.personas.selectedIndex=-1;
}
else window.alert('no has seleccionado ningun elemento');

value="->">
<
br>
<
input type="button" name="quitar" onClick="javascript:
if(document.mail.destinatarios.selectedIndex>-1){
document.mail.destinatarios.remove(document.mail.destinatarios.selectedIndex);
document.mail.destinatarios.selectedIndex=-1;
document.mail.personas.selectedIndex=-1;
}
else window.alert('no has seleccionado ningun elemento');

value="<-">
</
td>
<
td>
<
select name="destinatarios" size=10>

</
select>

</
td></tr></table>
<
input type=hidden name=para>
<
input type=hidden name=mail>
<
input type=hidden name=para1>
<
input type=hidden name=mail1>
<
input type=hidden name=para2>
<
input type=hidden name=mail2>
<
input type=hidden name=para3>
<
input type=hidden name=mail3>

<
br><br>
<
br>

<
input type="button" name="button" value="Ver mailes" onClick="javascript:
var miArray=document.mail.destinatarios.options;
if(miArray.length>0){
  if(miArray.length>=1){
    document.mail.mail.value=miArray[0].value;
    document.mail.para.value=miArray[0].text;
  }
  if(miArray.length>=2){
    document.mail.mail1.value=miArray[1].value;
    document.mail.para1.value=miArray[1].text;
  }
  if(miArray.length>=3){
    document.mail.mail2.value=miArray[2].value;
    document.mail.para2.value=miArray[2].text;
  }
  if(miArray.length>=4){
    document.mail.mail3.value=miArray[3].value;
    document.mail.para3.value=miArray[3].text;
  }
  if (miArray.length>=5) window.alert('Por ahora el multimail no soporta a mas de 4 receptores. No se mostraran a partir del cuarto');
  document.mail.submit();
} else window.alert('seleccione algun destinatario');

"
>

</
form
Mi problema es como enviar el contenido del select 'destinatarios' (¿un array?): enviar el nombre de cada destinatario y su mail, sabiendo que el contenido de la lista puede ser muy variable.
[Nota: este codigo esta simplificado, el original saca los nombres y direcciones de correo de una Base de datos, no he puesto el campo de textarea ...]

gracias de antemano...

jose

Pd:-) alguna solucion mas sencilla pero sin abusar tanto de javascript??