PHP list box question

Soldato
Joined
22 Aug 2005
Posts
8,968
Location
Clydebank
Hi all

I have this code below which shows 4 list boxes and allows moving values between, how can I get the values each box when I hit the submit button, e.g. in an array, or something.

I got the start of this code from here :http://www.plus2net.com/javascript_tutorial/list-move.php but I can't find out what I need to know.

Screenie:
2e560pk.jpg



PHP:
<html><head><title>Demo of moving the options of one list box to other</title>

<script language="javascript">
function addOption_all_list(selectbox){
removeAllOptions(document.drop_list.esx1);
addOption(document.drop_list.esx1, "mail","mail");
addOption(document.drop_list.esx1, "winxp","winxp");
addOption(document.drop_list.esx1, "news","news");
addOption(document.drop_list.esx1, "ftp","ftp");
addOption(document.drop_list.esx1, "sftp","sftp");
addOption(document.drop_list.esx1, "mysql","mysql");

}

function addOption(selectbox,text,value )
{
	var optn = document.createElement("OPTION");
	optn.text = text;
	optn.value = value;
	selectbox.options.add(optn);
}

function removeOption(listbox,i)
{
	listbox.remove(i);
}

function addOption_list_esx2(){
for(i=document.drop_list.esx1.options.length-1;i>=0;i--)	{
var esx1=document.drop_list.esx1;
if(document.drop_list.esx1[i].selected){
addOption(document.drop_list.esx2, document.drop_list.esx1[i].value, document.drop_list.esx1[i].value);
removeOption(esx1,i);
}
}
}

function addOption_list_esx3(){
for(i=document.drop_list.esx2.options.length-1;i>=0;i--)	{
var esx2=document.drop_list.esx2;
if(document.drop_list.esx2[i].selected){
addOption(document.drop_list.esx3, document.drop_list.esx2[i].value, document.drop_list.esx2[i].value);
removeOption(esx2,i);
}
}
}

function addOption_list_esx4(){
for(i=document.drop_list.esx3.options.length-1;i>=0;i--)	{
var esx3=document.drop_list.esx3;
if(document.drop_list.esx3[i].selected){
addOption(document.drop_list.esx4, document.drop_list.esx3[i].value, document.drop_list.esx3[i].value);
removeOption(esx3,i);
}
}
}

function remOption_list_esx4(){
for(i=document.drop_list.esx4.options.length-1;i>=0;i--)	{
var esx4=document.drop_list.esx4;
if(document.drop_list.esx4[i].selected){
addOption(document.drop_list.esx3, document.drop_list.esx4[i].value, document.drop_list.esx4[i].value);
removeOption(esx4,i);
}
}
}

function remOption_list_esx3(){
for(i=document.drop_list.esx3.options.length-1;i>=0;i--)	{
var esx3=document.drop_list.esx3;
if(document.drop_list.esx3[i].selected){
addOption(document.drop_list.esx2, document.drop_list.esx3[i].value, document.drop_list.esx3[i].value);
removeOption(esx3,i);
}
}
}

function remOption_list_esx2(){
for(i=document.drop_list.esx2.options.length-1;i>=0;i--)	{
var esx2=document.drop_list.esx2;
if(document.drop_list.esx2[i].selected){
addOption(document.drop_list.esx1, document.drop_list.esx2[i].value, document.drop_list.esx2[i].value);
removeOption(esx2,i);
}
}
}

function move_all_Option(selectbox){
for(i=document.drop_list.esx1.options.length-1;i>=0;i--)	{
var esx1=document.drop_list.esx1;
addOption(document.drop_list.esx2, document.drop_list.esx1[i].value, document.drop_list.esx1[i].value);

}
removeAllOptions(document.drop_list.esx1);
}



function removeAllOptions(selectbox)
{
	var i;
	for(i=selectbox.options.length-1;i>=0;i--)
	{
		//selectbox.options.remove(i);
		selectbox.remove(i);
	}
}

</script><b>
<table style="text-align: left; width: 800px; height: 32px;" border="0" cellpadding="0" cellspacing="0">
<tbody>
    <tr>
      <td>esx1</td>
      <td>esx2</td>
      <td>esx3</td>
      <td>esx4</td>
    </tr>
  </tbody>
</table>
</b>
 

<meta name="GENERATOR" content="Arachnophilia 4.0">
<meta name="FORMATTER" content="Arachnophilia 4.0"></head>

<body onload="addOption_all_list()"; alink="#ff0000" bgcolor="#ffffff" link="#0000ff" text="#000000" vlink="#800080">

<form name="drop_list" action="yourpage.php" method="post">

<!--
<input onclick="addOption_all_list()" ;="" value="Add All" type="button"> 
!-->
		
<select name="esx1" multiple="multiple" size="7">
<option id="1" value="mail">mail</option>
<option id="2" value="winxp">winxp</option>
<option id="3" value="news">news</option>
<option id="4" value="ftp">ftp</option>
<option id="5" value="sftp">sftp</option>
<option id="6" value="mysql">mysql</option></select>&nbsp;


<input onclick="addOption_list_esx2()" ;="" value="Move &gt;" type="button"> 

<!--
<input onclick="move_all_Option()" ;="" value="Move All &gt;&gt;" type="button">
!-->

<input onclick="remOption_list_esx2()" ;="" value="&lt; Move" type="button"> 
<select id="esx2" name="esx2" multiple="multiple" size="7"></select>
<input onclick="addOption_list_esx3()" ;="" value="Move &gt;" type="button"> 


<input onclick="remOption_list_esx3()" ;="" value="&lt; Move" type="button"> 
<select id="esx3" name="esx3" multiple="multiple" size="7"></select>
<input onclick="addOption_list_esx4()" ;="" value="Move &gt;" type="button"> 


<input onclick="remOption_list_esx4()" ;="" value="&lt; Move" type="button"> 
<select id="esx4" name="esx4" multiple="multiple" size="7"></select>
<!-- <input onclick="removeAllOptions(esx2)" ;="" value="Remove All" type="button">
!-->
<INPUT type="submit" value="Send">
</form>

<br><br><a href=list-move.php>Tutorial on moving options from one list to other</a>
</body></html>
 
Last edited:
OK thanks, that's an improvement on what I had. But I need to select every item in the list boxes to populate the array, is it possible to just hit send and what ever options are currently in the list box are sent?

I'm thinking no, becuase of what a list box is, which allows a list of choices, the array would only be populated by selecting each option...

Does anyone else have an idea how I could do what I'm looking for?
 
You could have them all pre-selected.

PHP:
<option id="1" value="mail" selected="selected">mail</option>

The array will then contain all selected values which you can use in the back-end script.
 
Back
Top Bottom