Avatar billede tsearexkonge Nybegynder
27. oktober 2003 - 10:46 Der er 12 kommentarer og
1 løsning

Udskrive den aktuelle værdi af dropdownbox value

Hejsa
Jeg har denne kode som jeg bruger til at hente data fra en mysql database og udskrive dem i en dropdownbox.

Jeg vil gerne kunne skrive den aktuelle værdi af:
  var frm = document.bruger_data;
  var sted_id = frm.sted.value;
ud på skærmen og i en php variabel som jeg kan bruge på siden. Jeg håber at i kan forstå hvad jeg mener.

<?php
mysql_connect("","","");
mysql_select_db("_user");

$result_oversigt = mysql_query("SELECT * FROM oversigt ORDER BY oversigt_afdelinger");
while ($row_oversigt = mysql_fetch_array($result_oversigt)) {
  $print_amt_list .= "<option value=\"" . $row_oversigt["id"] . "\">" . $row_oversigt["oversigt_afdelinger"] . "</option>\n";
  $print_js .= "kommuner[" . $row_oversigt["id"]  . "] = new Array (";
  $i = 0;
  $result_afd = mysql_query("SELECT * FROM template_ph WHERE oversigt_id = " . $row_oversigt["id"] . " ORDER BY name");
  while ($row_afd = mysql_fetch_array($result_afd)) {
    if ($i == 0) {
      $print_js .= "'0#Vælg afdeling','" . $row_afd["id"] . "#" . $row_afd["name"] . "'";
    } else {
      $print_js .= ",'" . $row_afd["id"] . "#" . $row_afd["name"] . "'";
    }
    $i++;
  }
  $print_js .= ")\n";
}

?>
<script language"JavaScript">
<!--

var kommuner = new Array()
kommuner[0] = new Array ('0#Vælg først et ansættelssted')
<?= $print_js ?>

function getKommuner() {
  var frm = document.bruger_data;
  var sted_id = frm.sted.value;
  var i; 
  frm.afdeling.options.length = 0;
  for (i = 0; i < kommuner[sted_id].length; i++) {
    arr_split = kommuner[sted_id][i].split("#");
    var no = new Option();
    no.value = arr_split[0];
    no.text = arr_split[1];
    frm.afdeling[i] = no;
  }
}

//-->
</script>



<select name="sted" style="width:390" class="input" onchange="getKommuner()">
                      <option value="0">Vælg Ansættelsessted</option>
                      <?= $print_amt_list ?>
                    </select>   
                 
              <select name="afdeling" class="input" style="width:390">
                      <option value="0">Vælg først et Ansættelsessted</option>
                    </select>
Avatar billede medions Nybegynder
27. oktober 2003 - 10:50 #1
<script language"JavaScript">
<!--

var kommuner = new Array()
kommuner[0] = new Array ('0#Vælg først et ansættelssted')
<?= $print_js ?>

function getKommuner(vaerdi) {
  var frm = document.bruger_data;
  var sted_id = vaerdi;
  var i; 
  frm.afdeling.options.length = 0;
  for (i = 0; i < kommuner[sted_id].length; i++) {
    arr_split = kommuner[sted_id][i].split("#");
    var no = new Option();
    no.value = arr_split[0];
    no.text = arr_split[1];
    frm.afdeling[i] = no;
  }
}

//-->
</script>


<select name="sted" style="width:390" class="input" onchange="getKommuner(this.value)">
                      <option value="0">Vælg Ansættelsessted</option>
                      <?= $print_amt_list ?>
                    </select>   
                 
              <select name="afdeling" class="input" style="width:390">
                      <option value="0">Vælg først et Ansættelsessted</option>
                    </select>

//>Rune
Avatar billede roenving Novice
27. oktober 2003 - 10:53 #2
-- og med udgangspunkt i Runes:

var sted_id = "";
function getKommuner(vaerdi) {
  var frm = document.bruger_data;
  sted_id = vaerdi;
  document.getElementById('minSpan').innerHTML = vaerdi;
  var i; 
  frm.afdeling.options.length = 0;
  for (i = 0; i < kommuner[sted_id].length; i++) {
    arr_split = kommuner[sted_id][i].split("#");
    var no = new Option();
    no.value = arr_split[0];
    no.text = arr_split[1];
    frm.afdeling[i] = no;
  }
}

-- og:

<span id="minSpan"></span>
Avatar billede tsearexkonge Nybegynder
27. oktober 2003 - 10:57 #3
Hejsa
For det første hvor skriver du ud på skærmen? for det andet hvor skriver du til en php variabel?

Det skulle heller ikke blandes sammen med det gamle script, jeg havde forestillet mig at man lavede et helt nyt script kun til denne funktion.
Avatar billede roenving Novice
27. oktober 2003 - 11:15 #4
Det er bare overkill at skulle kalde en hel ny funktion ...

Du kan _ikke_ skrive til en php-variabel uden at du sender f.eks. en form med værdien i f.eks. en hidden input !-)

  document.getElementById('minSpan').innerHTML = vaerdi;
Avatar billede tsearexkonge Nybegynder
27. oktober 2003 - 11:21 #5
Ok men så snart jeg sætter document.getElementById('minSpan').innerHTML = vaerdi; ind i koden holder scriptet op med at virke. Den skriver document.getElementById('minSpan').innerHTML = vaerdi;  er nul eller ikke et objekt.

Jeg har gjort:
<script language"JavaScript">
<!--

var kommuner = new Array()
kommuner[0] = new Array ('0#Vælg først et ansættelssted')
<?= $print_js ?>

function getKommuner(vaerdi) {

  var value_v = vaerdi;
  document.getElementById('minSpan').innerHTML = value_v




  var frm = document.bruger_data;
  var sted_id = frm.sted.value;
  var i; 
  frm.afdeling.options.length = 0;
  for (i = 0; i < kommuner[sted_id].length; i++) {
    arr_split = kommuner[sted_id][i].split("#");
    var no = new Option();
    no.value = arr_split[0];
    no.text = arr_split[1];
    frm.afdeling[i] = no;
   
   
   
   

  }
}

//-->
</script>
Avatar billede roenving Novice
27. oktober 2003 - 11:25 #6
-- har du fået

<select name="sted" style="width:390" class="input" onchange="getKommuner(this.value)">

med ?-)
Avatar billede tsearexkonge Nybegynder
27. oktober 2003 - 11:31 #7
Ja det har jeg, hvis vi lige prøver noget andet. Jeg kan godt bruge værdien fra den anden dropdownbox til noget.

Jeg prøver:
<script language"JavaScript">
<!--

function getvaerdi(getvaerdi) {

  var value_v = getvaerdi;
  document.getElementById('minSpan').innerHTML = value_v

//-->
</script>

og:
<select name="afdeling" class="input" style="width:390" onchange="getvaerdi(this.value)">
                      <option value="0">Vælg først et Ansættelsessted</option>
                    </select>


<span id="minSpan"></span>

Men det virker ikke kan du se en fejl?
Avatar billede tsearexkonge Nybegynder
27. oktober 2003 - 11:56 #8
Det virker!


<script>
function skriv(txt) {
if (document.getElementById) document.getElementById("minDiv").innerHTML = txt;
else if (document.all) document.all.minDiv.innerHTML = txt;
else if (document.layers) document.minLayer.document.write(txt);
}
</script>


<select name="afdeling" class="input" style="width:390" onchange="skriv(this.value); return false;">
                      <option value="0">Vælg først et Ansættelsessted</option>
                    </select>

<div id="minDiv"><layer id="minLayer"></layer></div>

Er der virkelig igen måde på hvordan man kan overføre data til php uden at reloade siden?
Avatar billede roenving Novice
27. oktober 2003 - 12:05 #9
-- en eller anden request skal gå til serveren, da _al_ php-kode afvikles der !-)

Måske en form i en skjult frame ?-)
Avatar billede tsearexkonge Nybegynder
27. oktober 2003 - 12:43 #10
Jeg lukker spørgsmålet nu men jeg giver dig halvdelen af poinene for din tid er det ok?
Avatar billede olebole Juniormester
27. oktober 2003 - 13:27 #11
<ole>

LoL ... du har da fået besvaret dit spm. på eksemplarisk vis. Hvorfor så kun halvdelen?  :D

/mvh
</bole>
Avatar billede tsearexkonge Nybegynder
27. oktober 2003 - 14:47 #12
@olebole
Inden du udtaler dig om noget, burde du måske læse hele tråden igennem. Jeg har da kun fået svar på at man ikke kan overføre variabler fra javascript til php uden at reloade siden. Det som jeg fik til at virke har jeg fundet i et andet spm her på eksperten. Men ok ingen skal sige at jeg ikke af med mine point.

Takker for hjælpen!
Avatar billede olebole Juniormester
27. oktober 2003 - 15:25 #13
Jamen, jeg kommenterer _netop_ fordi, jeg har læst hele tråden  :)
Det er så vidt jeg kan se ikke svarernes skyld, du vælger at bruge en anden løsning.
Roenving anviser netop den metode, man normalt bruger til at opdatere en side, uden at reloade hele siden - nemlig at poste mod en skjult iframe  :)
/mvh
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