Avatar billede barlach Nybegynder
13. juni 2001 - 01:42 Der er 11 kommentarer og
2 løsninger

en helt <select> til næste side...

jeg har fundet et javascript der swapper data mellem to selection boxe. Kan ses på

http://www.festivalbillet.dk/test.htm

hvordan får jeg hele select boxen til højre ført over til næste side (når der trykkes submit)??
Avatar billede jakobandersen Nybegynder
13. juni 2001 - 02:16 #1

function vaelgalle(){
for(i=0;i< document.formnavn.selectnavn..options.length + 1;i++){
  document.formnavn.selectnavn.options[i].selected = True
}
}

Også i dit form tag:
<form......... onsubmit=\"vaelgalle();\">
Avatar billede barlach Nybegynder
13. juni 2001 - 02:57 #2
hmm..der sker ikke så meget...her er hele siden



<HEAD>

<SCRIPT LANGUAGE=\"JavaScript\">
<!-- Original:  Kathi O\'Shea (Kathi.O\'Shea@internet.com) -->
<!-- Web Site:  http://www.web-savant.com/users/kathi/asp -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function moveOver() 
{
var boxLength = document.choiceForm.choiceBox.length;
var selectedItem = document.choiceForm.available.selectedIndex;
var selectedText = document.choiceForm.available.options[selectedItem].text;
var selectedValue = document.choiceForm.available.options[selectedItem].value;
var i;
var isNew = true;
if (boxLength != 0) {
for (i = 0; i < boxLength; i++) {
thisitem = document.choiceForm.choiceBox.options[i].text;
if (thisitem == selectedText) {
isNew = false;
break;
      }
  }
}
if (isNew) {
newoption = new Option(selectedText, selectedValue, false, false);
document.choiceForm.choiceBox.options[boxLength] = newoption;
}
document.choiceForm.available.selectedIndex=-1;
}
function removeMe() {
var boxLength = document.choiceForm.choiceBox.length;
arrSelected = new Array();
var count = 0;
for (i = 0; i < boxLength; i++) {
if (document.choiceForm.choiceBox.options[i].selected) {
arrSelected[count] = document.choiceForm.choiceBox.options[i].value;
}
count++;
}
var x;
for (i = 0; i < boxLength; i++) {
for (x = 0; x < arrSelected.length; x++) {
if (document.choiceForm.choiceBox.options[i].value == arrSelected[x]) {
document.choiceForm.choiceBox.options[i] = null;
  }
}
boxLength = document.choiceForm.choiceBox.length;
  }
}
function saveMe() {
var strValues = \"\";
var boxLength = document.choiceForm.choiceBox.length;
var count = 0;
if (boxLength != 0) {
for (i = 0; i < boxLength; i++) {
if (count == 0) {
strValues = document.choiceForm.choiceBox.options[i].value;
}
else {
strValues = strValues + \",\" + document.choiceForm.choiceBox.options[i].value;
}
count++;
  }
}
if (strValues.length == 0) {
alert(\"You have not made any selections\");
}
else {
alert(\"Here are the values you\'ve selected:\\r\\n\" + strValues);
  }
}

function vaelgalle(){
for(i=0;i< document.choiceForm.choiceBox.options.length + 1;i++){
  document.choiceForm.choiceBox.options[i].selected = True
}
}

//  End -->
</script>
</HEAD>

<!-- STEP TWO: Copy this code into the BODY of your HTML document  -->

<BODY>

<center>
<form name=\"choiceForm\"action=\"test.php\" onsubmit=\"vaelgalle();\">
<table border=0>
<tr>
<td valign=\"top\" width=175>
Available Content:
<br>
<select name=\"available\" size=10 onchange=\"moveOver();\">
<option value=1>Company News
<option value=2>Industry News
<option value=3>Product Updates
<option value=4>Product Specifications
<option value=5>Order History
<option value=6>Order Status
<option value=7>Contacts
<option value=8>Calendar of Events
<option value=9>Scheduler
<option value=10>Notes
</select>
</td>
<td valign=\"top\">
Your Choices:
<br>
<select multiple name=\"choiceBox[]\" style=\"width:150;\" size=\"10\">
</select>
</td>
</tr>
<tr>
<td colspan=2 height=10>
<input type=\"button\" value=\"Remove\" onclick=\"removeMe();\">
<input type=\"button\" value=\"Get Selected Values\" onclick=\"saveMe();\">
</td>
</tr>
</table>
<input type=\"submit\" value=\"send\">
</form>
</center>

problemet er at jeg helst skal have [ ] her name=\"choiceBox[]\" for at får alle selections ovre på den anden side (med php)
Avatar billede barlach Nybegynder
13. juni 2001 - 03:00 #3
hvis jeg bare kan få den komma-sep.variable (strValues) med over er det også fint.
Avatar billede jakoba Nybegynder
13. juni 2001 - 06:47 #4
du skriver  document.choiceForm.choiceBox.options  men selectens navn er jo \"choicebox[]\".
samt true staves med småt i javascript

så mon ikke hellere:

function vaelgalle(){
  var idx;
  for ( idx=0; document.choiceform.element[idx].name.indexOf(\"choicebox\")<0; idx++) { };
  for( i=0; i< document.choiceForm.elements[idx].options.length ;i++) {
    document.choiceForm.elements[idx].options[i].selected = true
  }
}

mvh JakobA
Avatar billede jakoba Nybegynder
13. juni 2001 - 06:48 #5
Ups. og stort B i  choiceBox 
Avatar billede barlach Nybegynder
13. juni 2001 - 10:42 #6
siger at .length er NULL or not an object

var boxLength = document.choiceForm.choiceBox.length;
Avatar billede jakoba Nybegynder
13. juni 2001 - 10:57 #7
du kan IKKE bruge \"choiceBox\" på den måde når selecten hedder \"choiceBox[]\"
Avatar billede jakoba Nybegynder
13. juni 2001 - 11:07 #8

var idx;      // udenfor funktionen så den kan ses alle steder fra
function vaelgalle(){
  for ( idx=0; document.choiceform.element[idx].name.indexOf(\"choicebox\")<0; idx++) { };
  for( i=0; i< document.choiceForm.elements[idx].options.length ;i++) {
    document.choiceForm.elements[idx].options[i].selected = true
  }
}

og så senerehen:

var boxLength = document.choiceForm.elements[idx].options.length;

ligesådan hvis der er andre steder du prøver at bruge choiceBox som javascript navn.

IE vil tillade at du udelader .options i linien ovenfor. Men syntaktisk bør den være der.

mvh JakobA
Avatar billede barlach Nybegynder
13. juni 2001 - 11:07 #9
hmm..jeg har vist rodet lidt rundt i det...linket i toppen er ikke det jeg har vist koden til..*sigh*..sidder med 2 forskellige versioner.

sq ikke så sært jeg ikke kan få det til at virke...
Avatar billede jakobandersen Nybegynder
13. juni 2001 - 11:07 #10
Brug

document.choiceForm.choiceBox.options.length
Avatar billede barlach Nybegynder
13. juni 2001 - 11:25 #11
hmm..virker stadig ikke
Avatar billede jakobandersen Nybegynder
13. juni 2001 - 11:58 #12
Ok.. Nu har jeg kigget på den site du henviste til:

Indsæt denne funktion:

function vaelgalle(){
  for(i=0;i< document.combo_box.list2.options.length;i++){
          document.combo_box.list2.options[i].selected = true
}
}

Og kald den så onSubmit=\"vaelgalle() i dit formtag.
Avatar billede barlach Nybegynder
13. juni 2001 - 13:13 #13
tak for hjælpen..med en blanding af de to ser det ud til at virke med php =)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester