Versio

listbox POST-vars

Overzicht Reageren

Wout van der Burg

Wout van der Burg

26/11/2008 09:31:00
Quote Anchor link
Hallo,
Ik heb een script waarbij ik 2 listboxes heb. Met deze boxes kan ik waarden van links naar rechts verplaatsen. Nu ziet PHP mijn POST-vars hiervan niet.. Ziet iemand het probleem?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<script type="text/JavaScript">
    function RightButton_OnClick() {
        
        var AvailableLB = document.getElementById("available[]");
        var LinkedLB = document.getElementById("linked[]");
        
        for (var i=0; i < AvailableLB.length; i++) {
            if (AvailableLB.options[i].selected == true) {
                LinkedLB.options[LinkedLB.length] =
                new Option(AvailableLB.options[i].text,
                AvailableLB.options[i].value);
                AvailableLB.options[i] = null;
                i=i-1;
            }
        }
        return;
    }
    </script>

    <script type="text/JavaScript">
    function LeftButton_OnClick() {
        
        var AvailableLB = document.getElementById("linked[]");
        var LinkedLB = document.getElementById("available[]");
        
        for (var i=0; i < AvailableLB.length; i++) {
            if (AvailableLB.options[i].selected == true) {
                LinkedLB.options[LinkedLB.length] =
                new Option(AvailableLB.options[i].text,
                AvailableLB.options[i].value);
                AvailableLB.options[i] = null;
                i=i-1;
            }
        }
        return;
    }
    </script>
<?php // pour l'couleur
<form id="rechtselectie" name="rechtselectie" action="index.php" method="POST">
<
table>
<
tr>
    <
td>
        <
span class="resultkop">Niet toegewezen:</span><br>
        <
select class="afwezig" multiple style="width:150px;" size="10" name="available[]" id="available[]">
            <
option value="1">Optie 1</option>
            <
option value="2">Optie 2</option>
        <
/select>
    <
/td>
    <
td>
        <
input name="move" type="button" value="<" onClick="LeftButton_OnClick();">
        <
input name="move" type="button" value=">" onClick="RightButton_OnClick();">
    <
/td>
    <
td>
        <
span class="resultkop">Toegewezen:</span><br>
        <
select class="aanwezig" multiple style="width:150px;" size="10" name="linked[]" id="linked[]">
            <
option value="3">Optie 3</option>
            <
option value="4">Optie 4</option>
        <
/select>
    <
/td>
<
/tr>
<
tr>
    <
td colspan="3"><input id="submit" name="submit" type="submit" value="OK"></td>
<
/tr>
<
/table>
<
/form>
[
code]<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {

    if (isset($_POST['linked'])) {
        echo "OK";
    }
else {
        echo "kut";
    }

    print_r($_POST['linked']);
    print_r($_POST['available']);
}
  
?>



De output is;
kut
Notice: Undefined index: linked in groepsrechten.php on line 130

Notice: Undefined index: available in groepsrechten.php on line 131
Gewijzigd op 01/01/1970 01:00:00 door Wout van der Burg
 
PHP hulp

PHP hulp

25/05/2012 08:15:37
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Robert Deiman

Robert Deiman

26/11/2008 09:46:00
Quote Anchor link
@Wout

Ik wil wel even proberen / testen, maar mis wel een stukje code zo.. :) kan je die code ergens plaatsen, zodat heen en weer schuiven ook werkt? Dan ga ik even proberen of ik je kan helpen. Zie zo namelijk de fout niet.
 
Wout van der Burg

Wout van der Burg

26/11/2008 09:50:00
Quote Anchor link
bij deze :) ^
 
Beezz

Beezz

26/11/2008 09:52:00
Quote Anchor link
Kan het niet zijn dat de

name="linked[]" id="linked[]">

Wordt gezien als 1 dus niet vergelijkbaar met $_POST['linked']
 
Jacco Engel

Jacco Engel

26/11/2008 09:53:00
Quote Anchor link
Nee

Enige dat ik me afvraag is waarom op regel 38 van de snippit er een
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php staat
Gewijzigd op 01/01/1970 01:00:00 door Jacco Engel
 
Beezz

Beezz

26/11/2008 09:56:00
Quote Anchor link
Beter!!!
Gewijzigd op 01/01/1970 01:00:00 door Beezz
 
Wout van der Burg

Wout van der Burg

26/11/2008 09:58:00
Quote Anchor link
Jacco
Ja dat klopt, die had ik gedaan voor de kleur.. Dus dat genegeerd worden..
 
Robert Deiman

Robert Deiman

26/11/2008 09:58:00
Quote Anchor link
Ik zie wel wat de fout is, en ben nu aan het zoeken naar de oplossing.

Bij een selectlist namelijk, moet je de items selecteren (houd ctrl of shift vast voor het selecteren van meerdere items) alvorens die worden meegestuurd.

Ik denk aan een js oplossing, ga ik mee aan de gang. :)
 
Wout van der Burg

Wout van der Burg

26/11/2008 10:00:00
Quote Anchor link
Ah ok... :) ja nou je het zegt =D
Ben benieuwd naar je oplossing.. Alvast bedankt voor je moeite
 
Jacco Engel

Jacco Engel

26/11/2008 10:02:00
Quote Anchor link
als het een Ajax oplossing mag zijn kun je denken aan.


(ff prototype style)

$('listbox').getElementsByTagName('option');

Enzovoort
 
Robert Deiman

Robert Deiman

26/11/2008 10:03:00
Quote Anchor link
@Jacco

Hoezo AJAX oplossing? Je moet met JS aan de cliƫnt kant zorgen dat alle items zijn geselecteerd, voor het formulier wordt verzonden. Daar komt geen AJAX bij kijken hoor.
 
Jacco Engel

Jacco Engel

26/11/2008 10:06:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
var optList = document.getElementById('listbox').getElementsByTagName('option');
for(i=0;i<optList.length;i++)
{
optList[i].selected = 'selected' ;
}

zoiets ongeveer :)

Maar ik zei ook ALS ;)
Gewijzigd op 01/01/1970 01:00:00 door Jacco Engel
 
Robert Deiman

Robert Deiman

26/11/2008 10:20:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<script type="text/JavaScript">
    function RightButton_OnClick() {
        
        var AvailableLB = document.getElementById("available[]");
        var LinkedLB = document.getElementById("linked[]");
        
        for (var i=0; i < AvailableLB.length; i++) {
            if (AvailableLB.options[i].selected == true) {
                LinkedLB.options[LinkedLB.length] =
                new Option(AvailableLB.options[i].text,
                AvailableLB.options[i].value);
                AvailableLB.options[i] = null;
                i=i-1;
            }
        }
        return;
    }
    </script>

    <script type="text/JavaScript">
    function LeftButton_OnClick() {
        
        var AvailableLB = document.getElementById("linked[]");
        var LinkedLB = document.getElementById("available[]");
        
        for (var i=0; i < AvailableLB.length; i++) {
            if (AvailableLB.options[i].selected == true) {
                LinkedLB.options[LinkedLB.length] =
                new Option(AvailableLB.options[i].text,
                AvailableLB.options[i].value);
                AvailableLB.options[i] = null;
                i=i-1;
            }
        }
        return;
    }
    
    function Select_All(){
        var available = document.getElementById('available');
        for (var i = 0; i < available.options.length; i++ ) {
            available.options[i].selected = 'selected';
            }
        var linked = document.getElementById('linked');
        for (var i = 0; i < linked.options.length; i++ ) {
            linked.options[i].selected = 'selected';
            }
        }
    </script>

<form id="rechtselectie" name="rechtselectie" action="str_split.php" method="POST">
<table>
<tr>
    <td>
        <span class="resultkop">Niet toegewezen:</span><br>
        <select class="afwezig" multiple style="width:150px;" size="10" name="available[]" id="available">
            <option value="1">Optie 1</option>
            <option value="2">Optie 2</option>
        </select>
    </td>
    <td>
        <input name="move" type="button" value="<" onClick="LeftButton_OnClick();">
        <input name="move" type="button" value=">" onClick="RightButton_OnClick();">
    </td>
    <td>
        <span class="resultkop">Toegewezen:</span><br>
        <select class="aanwezig" multiple style="width:150px;" size="10" name="linked[]" id="linked">
            <option value="3">Optie 3</option>
            <option value="4">Optie 4</option>
        </select>
    </td>
</tr>
<tr>
    <td colspan="3"><input onclick="Select_All()" id="submit" name="submit" type="submit" value="OK"></td>
</tr>
</table>
</form>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
print_r($_POST);
    if (isset($_POST['linked'])) {
        echo "OK";
    }
else {
        echo "kut";
    }

    print_r($_POST['linked']);
    print_r($_POST['available']);
}
  
?>
 
Wout van der Burg

Wout van der Burg

26/11/2008 10:24:00
Quote Anchor link
Jeeeeeeeeeeeeeej hij doet het

Hartstikke bedankt Robert!!!
 
Beezz

Beezz

26/11/2008 10:29:00
Quote Anchor link
@Jacco,


Wel grappig te zien dat bij id='linked[]' en id='available[]'

de [] zijn verdwenen.....


Hmmmmmm


Vergelijk het maar eens met het vorige script....
Gewijzigd op 01/01/1970 01:00:00 door Beezz
 
Jacco Engel

Jacco Engel

26/11/2008 10:30:00
Quote Anchor link
Omdat het niet practisch en niet nodig is :) niet omdat het conflicten opleverd :)
 
Beezz

Beezz

26/11/2008 10:33:00
Quote Anchor link
Je hebt gelijk.....


Maar soms zit een conflict in een onverwachte hoek...
 



Overzicht Reageren