JS Muliple selects waarde komt niet door in PHP

Status
Niet open voor verdere reacties.

bluesbrother

Gebruiker
Lid geworden
20 sep 2006
Berichten
72
Ik heb een formulier in HTML.
Daar staan 2 multiple selects in.
Doormiddel van knoppen kan je waarden van de ene naar de andere overzetten.
In de eerste worden ze verwijderd, in de tweede er bijgezet.

zie hiervoor:
http://www.ictkb.com/dump/

Uiteindelijk moet er als er op de knop "Doe het" word gedrukt de cijfer waarden (ID's) van de
tweede select doorgestuurd worden naar PHP die het op zal slaan in de database.

Probleem:
Alleen de textwaarden komen over in PHP. Ik heb alleen de (straks) unieke ID's nodig en die worden niet doorgegeven. Ik denk dat dit komt omdat het "Virtueel gebeurd".
In de brondcode in de browser is de rechter select nog steeds leeg. Logisch.
Maar hoe krijg je dan die waarden doorgegeven?

Kan je een array doorgeven waar die waarden instaan?
Moet je met hiddenfields gaan werken ?

Ik heb geen idee hoe ik dit moet oplossen en zou graag een denk richting willen hebben.
Kan iemand me helpen?

bedankt
BB :cool:
 
Heeft waarschijnlijk met je functie te maken die ze van het ene veld naar het andere zet.

Zet anders in je verwerkgedeelte eens dit:
PHP:
print_r($_POST);
Dan kun je zien wat er allemaal wordt meegestuurd :)
 
Ik heb hem geupdate:
http://www.ictkb.com/dump/

Ik ben niet zo goed met Arrays, maar volgens mij krijg ik het nog niet.?
Ik heb ook de option values in de select wat extra nummers gegeven:

Code:
<option value="221">Adres 1</option>

Dan is het misschien makkelijker om te zien of het doorkomt.
Het stomme is dat als ik het met de eerste select doe, dat het dan wel werkt.
Misschien toch dat virtuele?
 
Laatst bewerkt:
Kleine aanpassing in de functie gedaan, wat je namelijk deed is bij het verplaatsen van het ene veld naar het andere is een new Option(text), wat dus inhoud dat je alleen de text meeneemt :)
PHP:
  function addSrcToDestList(src, dest) {
  
    srcList = document.getElementById(src); 
    destList = document.getElementById(dest);

	var len = destList.length;
	var srcLen = srcList.length;		
    for(var i = 0; i < srcLen; i++) {
      if ((srcList.options[i] != null) && (srcList.options[i].selected)) {
        
        //Check if this value already exist in the destList or not
        //if not then add it otherwise do not add it.
        var found = false;
        for(var count = 0; count < len; count++) {
          if (destList.options[count] != null) {
            if (srcList.options[i].text == destList.options[count].text) {
              found = true;
              break;
            }
          }
        }
        
        if (found != true) {
        // Hier zat de fout, nu wordt ook de value meegenomen.
          destList.options[len] = new Option(srcList.options[i].text, srcList.options[i].value);
		  len++;
		  
        }
      }
    }
	var i;
	for( i=srcList.options.length-1;i>=0;i-- )
		if ( srcList.options[i].selected)
	 		srcList.remove(i);
 		
  }

Probeer het eens en laat ons weten of het goed gaat.
 
Yes dubbel Yes, hij doet het !!
Lang leve jou Tha Devil ! :thumb::thumb:

Ik en JS zullen nooit goede vrienden worden. :mad:

Bedankt en fijn weekend !
BB :cool:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan