Foros del Web » Programando para Internet » PHP »

Aportacion-enviar todo un select

Estas en el tema de Aportacion-enviar todo un select en el foro de PHP en Foros del Web. Hola amigos no se si les ha pasado que se desea ir llenando una lista multiple y poder enviarla sin seleccionar uno por uno y ...
  #1 (permalink)  
Antiguo 19/09/2006, 11:04
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Aportacion-enviar todo un select

Hola amigos no se si les ha pasado que se desea ir llenando una lista multiple y poder enviarla sin seleccionar uno por uno y que con php almacenemos todo esa lista aqui propongo una script que encontre

saludos
espero les sirva

//este es el script
<script type="text/javascript">
multiItem = new Array();
multiOption = new Array();
selectedindex = "";
selecteditem = "";

function addAnswer(answervalue)
{
var sAgent = navigator.userAgent.toLowerCase() ;
//ie
if (sAgent.indexOf('msie')!=-1 && sAgent.indexOf('opera')==-1)
{
if ((answervalue.length==0) ||(answervalue==null))
{
alert("Favor de escribir la palabra");
}
else
{
if (answervalue != "")
{
var opt = new Option(answervalue,answervalue);
document.formulario.answer.options.add(opt);
var oNewItem = document.createElement("INPUT");
document.formulario.children(0).insertAdjacentElem ent("afterBegin",oNewItem);
oNewItem.type = "TEXT";
oNewItem.name = "answers[]";
oNewItem.value= answervalue;
oNewItem.style.display= "none";
document.formulario.answervalue.value="";
document.formulario.answervalue.focus();
}
}
}

//en caso de otro navegador
else
{
if ((answervalue.length==0) ||(answervalue==null))
{
alert("Favor de escribir la palabra");
}
else
{
if (answervalue!="")
{
var opt = new Option(answervalue,answervalue);
document.formulario.answer.options.add(opt);
var input2 = document.createElement('INPUT');
input2.id = answervalue;
input2.type = "text";
input2.name = "answers[]";
input2.value = answervalue;
document.formulario.appendChild(input2);
input2.style.display="none";
document.formulario.answervalue.value = "";

i = document.formulario.answer.length-1;
multiOption[i] = answervalue;
document.formulario.answervalue.focus();

}
}
}
}


function deleteAnswer()
{
var sAgent = navigator.userAgent.toLowerCase() ;
//ie
if (sAgent.indexOf('msie')!=-1 && sAgent.indexOf('opera')==-1)
{
var answerlist = document.formulario.answer;
for(var i=0; i< answerlist.options.length; i++)
{
if( answerlist.options[i].selected && answerlist.options[i] != "")
{
document.formulario.elements( answerlist.options.length-i-1).removeNode();
answerlist.options[i]= null;
break;
}
multiOption.splice(selecteditem, 1);
}
}

//en caso de otro navegador
else
{
var answerlist = document.formulario.answer;
for(var i=0; i<answerlist.options.length; i++)
{
if(answerlist.options[i].selected && answerlist.options[i] != "")
{
answerlist.options[i]= null;
break;
}
}
thisvalue = multiOption[selecteditem];
d_nested = document.getElementById(thisvalue);
throwaway_node = formulario.removeChild(d_nested);
multiOption.splice(selecteditem, 1);
}
}



function populateItem(index)
{
selecteditem=index;
}
</script>

//aqui va el contenido dentro del html
<form name="formulario" method="POST" ENCTYPE="multipart/form-data" action="">
<table border=0 cellpadding=0 cellspacing=0>
<tr>
<td>
<input name="answervalue" size="10" maxlength="10" class="boder_campo_estatic" onfocus="this.className='boder_campo_focus'" onblur="this.className='boder_campo_estatic'"><img src="Images/ok.gif" width="16" height="16" border="0" onClick="addAnswer(document.formulario.answervalue .value)">&nbsp;<img src="Images/cancel.gif" width="16" height="16" border="0" onClick="deleteAnswer()"><a href="#" onclick="showToolTip(event,'<?echo $palabras_tooltip;?>','6');ocultarcolor();return false" ><img src="Images/help.gif" border="0" width="16" height="16"></a></td>
</tr>
<tr>
<td>
<div id="deptemplista" style="display:none">
<textarea name="textarea" rows="4" cols="10" class="listaclaves2"></textarea>
</div>
<div id="divclaves">
<select size="4" name="answer" class="listaclaves" onChange="populateItem(this.options[selectedIndex].index)"></select>
</div>
</td></tr>
</table>
<input type"submit" value="enviar">
</form>

//bueno desde php lo recogemos asi
se hace el envio
<?php
$lista=count($_POST['answers']);
$p=0;
for ($i=0;$i<$lista;$i++)
{
$p++;
if($p!=$lista)
{
$palabras=$palabras.trim($_POST['answers'][$i]).",";
}
else
{
$palabras=$palabras.trim($_POST['answers'][$i]);
}
}
?>
y listo la variable $palabras la podemos almacenar si lo desean en campo de base de datos
__________________
gerardo
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 06:48.