Current location: Hot Scripts Forums » Programming Languages » PHP » form not displaying all options from multiselect


form not displaying all options from multiselect

Reply
  #1 (permalink)  
Old 10-19-04, 01:10 AM
nassau nassau is offline
Wannabe Coder
 
Join Date: May 2004
Posts: 211
Thanks: 0
Thanked 0 Times in 0 Posts
form not displaying all options from multiselect

i'm having trouble with a php form. i have a multiselect where i have selected all or a few of the options displayed. but no matter what i do the result is always the last option and nothing else.

let me illustrate:

this is my multiview select:

option 1
*option 2*
*option 3*
option 4
*option 5*
*option 6*


the ones with *star* are selected, but only the last option ("option 6") is displayed on my form.php (the file recieving the form results).

how can i make it display all the selected items?



my code is featured below and attatched as well (both are identical)


thanks




PHP Code:

<html>


    <
head>
        <
meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
        <
meta http-equiv="pragma" content="no-cache">
        <
meta name="robots" content="noindex, nofollow">
        <
meta http-equiv="expires" content="thu, 1 jan 1970 01:00:00 gmt">
        <
title></title>
  <
link rel="stylesheet" href="_css/style.css">
  
<
script language="JavaScript" type="text/javascript">

var 
AvailableTracksMM = new Array(
new Array(
'Malung''2''Malung'),
new Array(
'Hedemora''2''Hedemora'),
new Array(
'Orsa''2''Orsa'),
new Array(
'Ludvika''2''Ludvika'),
new Array(
'Smedjebacken''2''Smedjebacken'),
new Array(
'Vansbro''2''Vansbro'),
new Array(
'Leksand''2''Leksand'),
new Array(
'Sater''2''Sater'),
new Array(
'Borlange''2''Borlange'),
new Array(
'Rattvik''2''Rattvik'),
new Array(
'Gagnef''1''Gagnef'),
new Array(
'Mora''1''Mora'),
new Array(
'Alvdalen''1''Alvdalen'),
new Array(
'Avesta''1''Avesta'),
new Array(
'Falun''1''Falun'),
new Array(
'Salvesborg''1''Salvesborg'),
new Array(
'Olofstram''1''Olofstram'),
new Array(
'Ronneby''1''Ronneby'),
new Array(
'Karlskrona''1''Karlskrona'),
new Array(
'Karlshamn''1''Karlshamn')
);

    function 
updateAvailableTracks(id) {
           var 
intAvailableTracks 0;
           var 
select 0;
           var 
parentId 0;
           
           eval(
'var objArtist = getForm(\'tracks\', \'regForm\').Artist_' id ';');
        eval(
'var objAvailableTracks = getForm(\'tracks\', \'regForm\').AvailableTracks_' id ';');
        eval(
'var objPlaylist = getForm(\'tracks\', \'regForm\').Playlist_' id ';');
        
        
select objArtist.selectedIndex
        parentId 
parseInt(objArtist.options[select].value);
        
        for (var 
0AvailableTracksMM.lengthi++) {
            if (
AvailableTracksMM[i][1] == parentId) {
                var 
boolSelected false;
                for (var 
0objPlaylist.options.lengthj++) {
                    if (
objPlaylist.options[j].value == AvailableTracksMM[i][0]) {
                        
boolSelected true;
                        break;
                    }    
                }
            
                if (!
boolSelected) {
                    
objAvailableTracks.options.length intAvailableTracks 1;
                    
objAvailableTracks.options[intAvailableTracks].text AvailableTracksMM[i][2];
                    
objAvailableTracks.options[intAvailableTracks].value AvailableTracksMM[i][0];
                        
                    
intAvailableTracks++; 
                }
            }    
        }
        
        if (
intAvailableTracks == 0) {
            
objAvailableTracks.options.length 1;
            
objAvailableTracks.options[0].text 'Select tracks';
            
objAvailableTracks.options[0].value '-1';
        }
    }

    function 
getForm(layerform) {
        var 
retval='';
        if (
document.layers) {
            eval(
'retval = document.layers.'+layer+'.document.'+form);
        } else {
            eval(
'retval = document.'+form);
        }
        return 
retval;
    }
    
    function 
addTrack(id) {
        eval(
'var objAvailableTracks = getForm(\'tracks\', \'regForm\').AvailableTracks_' id ';');
        eval(
'var objPlaylist = getForm(\'tracks\', \'regForm\').Playlist_' id ';');
        
        
        for (var 
0objAvailableTracks.options.lengthi++) {
            if (
objAvailableTracks.options[i].selected) {
                
objPlaylist.options.length objPlaylist.options.length 1;
                
objPlaylist.options[objPlaylist.options.length 1].text objAvailableTracks.options[i].text;
                
objPlaylist.options[objPlaylist.options.length 1].value objAvailableTracks.options[i].value;
                
                
objAvailableTracks.options[i] = null;
                
i--;
            }
        }

    }
    
    function 
removeTrack(id) {

        eval(
'var objPlaylist = getForm(\'tracks\', \'regForm\').Playlist_' id ';');

        for (var 
0objPlaylist.options.lengthi++) {
            if (
objPlaylist.options[i].selected) {
                
objPlaylist.options[i] = null;
                
i--;
            }
        }
        
        
updateAvailableTracks(id);

    }
    
    function 
selectAll(num) {
        for (var 
id 0id numid++) {
            eval(
'var objPlaylist = getForm(\'tracks\', \'regForm\').Playlist_' id ';');
            for (var 
0objPlaylist.options.lengthi++)
                
objPlaylist.options[i].selected true;
        }
    }
    
    var 
numForm 1;
    function 
validateForm() {
        var 
addString ''alertMsg '';
        var 
retVal true;
        var 
objForm getForm('tracks''regForm');
        

        
        if (
alertMsg != '')
            
alert(alertMsg);
        
        
selectAll(numForm);
        
        return 
retVal;
    }
    
    
</script>

 </head>

    <body marginwidth="0" marginheight="0" leftmargin="0" topmargin="0">
<form method="post" name="regForm" action="form.php" onSubmit="return validateForm();">
        <div align="center">
        <table border="0" cellspacing="0" cellpadding="0">
            <tr>
                <td><img src="_images/blank.gif" width="1" height="40"></td>
            </tr>
        </table>
        <table border="0" cellspacing="0" cellpadding="0" width="603">
            <tr>
                <td width="33"><img src="_images/blank.gif" width="33" height="1"></td>
                <td width="543"><img src="_images/blank.gif" width="543" height="1"><br>
                <img src="_images/blank.gif" width="1" height="143"><br>
                <img src="_images/blank.gif" width="178" height="1"><br>
                <img src="_images/blank.gif" width="1" height="30"></td>
                <td width="27"><img src="_images/blank.gif" width="27" height="1"></td>
            </tr>
            <tr>
                <td></td>
                <td valign="top">
















<span class="link">Playlist name</span><br>
<input type="text" name="phone" value="" size="25" style="width: 150px;"><br>
<br>


<table border="0" cellspacing="0" cellpadding="0" width="420">
    <tr>
        <td><img src="http://_images/blank.gif" width="150" height="1"></td>
        <td><img src="http://_images/blank.gif" width="10" height="1"></td>
        <td><img src="http://_images/blank.gif" width="100" height="1"></td>
        <td><img src="http://_images/blank.gif" width="10" height="1"></td>
        <td><img src="http://_images/blank.gif" width="150" height="1"></td>
    <tr>
    <tr>
        <td valign="top"><span class="link">Available tracks</span><br>
        <img src="http://_images/blank.gif" width="1" height="4"><br>
        <select name="Artist_0" onChange="updateAvailableTracks(0)" style="width:150px;">
        <option selected>Select folder</option>
        <option value="1">Donkey Kong</option>
        <option value="2">King Kong</option></select><br>
        <img src="http://_images/blank.gif" width="1" height="4"></td>
        <td></td>
        <td></td>
        <td></td>
        <td valign="top"><span class="link">Selected tracks</span></td>
    </tr>
    <tr>
        <td><select name="AvailableTracks_0" multiple size="20" style="width:150px;"></select></td>
        <td></td>
        <td align="center"><input type="button" onClick="addTrack(0)" name="Submit" value="&nbsp;&nbsp;&nbsp;Add track&nbsp;&nbsp;&nbsp;"><br>
        <img src="http://_images/blank.gif" width="1" height="4"><br>
        <input type="button" onClick="removeTrack(0)" name="Submit" value="Remove track"></td>
        <td></td>
        <td><select name="Playlist_0" multiple size="20" style="width:150px;"></select></td>
    </tr>
</table>
<br>
<input type="submit" name="Submit" value="Create playlist">















</td>
                <td></td>
            </tr>
            <tr>
                <td></td>
                <td valign="top"><img src="_images/blank.gif" width="1" height="80"><br>
                <img src="_images/blank.gif" width="1" height="50"></td>
                <td></td>
            </tr>
        </table>
        
        <table border="0" cellspacing="0" cellpadding="0">
            <tr>
                <td><img src="_images/blank.gif" width="1" height="70"></td>
            </tr>
        </table>

    </div>
    </form>
    </body>

</html> 
Attached Files
File Type: zip untitled.php.zip (2.3 KB, 48 views)
Reply With Quote
  #2 (permalink)  
Old 10-20-04, 08:50 AM
moronovich moronovich is offline
Junior Code Guru
 
Join Date: Oct 2004
Posts: 460
Thanks: 0
Thanked 0 Times in 0 Posts
in your html file:
Code:
<select name="Playlist_0" multiple size="20" style="width:150px;"></select>
change it into
Code:
<select name="Playlist_0[]" multiple size="20" style="width:150px;"></select>
and in your form.php, check the value submitted:
PHP Code:

print_r($_POST['Playlist_0']); 

good luck..
__________________
just an ignorant noob with moronic solution...
Reply With Quote
  #3 (permalink)  
Old 10-20-04, 09:36 AM
nassau nassau is offline
Wannabe Coder
 
Join Date: May 2004
Posts: 211
Thanks: 0
Thanked 0 Times in 0 Posts
thanks, but this causes the javascript not to work anymore, try it and you'll see. it will not load items from the dropdown into the first multi select.

i'm sure your method is working but it causes the javascript to malfunction so i can't see the result.

i tried different ways of putting the [] in the javascript too but i never got it right..

Reply With Quote
  #4 (permalink)  
Old 10-20-04, 07:46 PM
moronovich moronovich is offline
Junior Code Guru
 
Join Date: Oct 2004
Posts: 460
Thanks: 0
Thanked 0 Times in 0 Posts
what's your method on putting [] in the javascript? let me know.
as a hint, you should pay attention to this part of your javascript:
Code:
        eval('var objArtist = getForm(\'tracks\', \'regForm\').Artist_' + id + ';'); 
        eval('var objAvailableTracks = getForm(\'tracks\', \'regForm\').AvailableTracks_' + id + ';'); 
        eval('var objPlaylist = getForm(\'tracks\', \'regForm\').Playlist_' + id + ';');
good luck..!!
__________________
just an ignorant noob with moronic solution...
Reply With Quote
  #5 (permalink)  
Old 10-20-04, 08:03 PM
nassau nassau is offline
Wannabe Coder
 
Join Date: May 2004
Posts: 211
Thanks: 0
Thanked 0 Times in 0 Posts
this is what i did:

eval('var objArtist = getForm(\'tracks\', \'regForm\').Artist_' + id + ';');
eval('var objAvailableTracks = getForm(\'tracks\', \'regForm\').AvailableTracks_' + id + ';');
eval('var objPlaylist = getForm(\'tracks\', \'regForm\').Playlist_' + id + '[];');


i tried other, crazy, stuff too, not as logical as the above. needless to say, tthe above did not solve my problem. let me know if it works on your side but i can't understand what i do wrong....



thanks
Reply With Quote
  #6 (permalink)  
Old 11-10-04, 09:03 PM
nassau nassau is offline
Wannabe Coder
 
Join Date: May 2004
Posts: 211
Thanks: 0
Thanked 0 Times in 0 Posts
this is still not working... does anyone have a clue about this one?
Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
formmail problem gscraper Perl 12 08-27-04 03:06 AM
Limit the form submission according to time bionicsamir PHP 7 05-09-04 11:10 PM
make form box TEXT? lylesback2 JavaScript 2 04-05-04 06:58 PM
displaying fields on the same form aliasgar ASP 1 01-22-04 12:50 PM
SQL database registration form help vinhkhuong PHP 3 10-10-03 03:49 AM


All times are GMT -5. The time now is 04:37 AM.
vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.