Avatar billede heine_p Nybegynder
31. juli 2003 - 19:31 Der er 14 kommentarer og
1 løsning

Javascript problem med PHP-loop

Jeg har bøvlet lidt med dette JavaScript i et stykke tid nu, og jeg ved ikke hvad jeg skal skrive i funktionen ChooseMap! Det er meningen at der bliver oprettet forbindelse til MySQL database og derefter skal man kunne klikke på værdien og værdien bliver overført til input. Men det eneste problem jeg har er, at få den javascript funktion til at virke. :(
- ellers alt andet funger som det skal :D

<script language="JavaScript">
function ChooseMap(id){
   
}
</script>
<table border="0" width="270" cellpadding="0" cellspacing="0">
    <tr>
        <td colspan="2" style="padding-left: 4px;"><font class="menu"><b>Vælg dine favoritmaps her. Max 4 maps.</b></font></td>
    </tr>
<?
$mysql_host = "xxxx";
$mysql_user = "xxxx";
$mysql_pass = "xxxx";
$mysql_data = "xxxx";

$cn = mysql_connect($mysql_host,$mysql_user,$mysql_pass) or die("FEJL: ". mysql_error());
mysql_select_db($mysql_data, $cn) or die("FEJL: ". mysql_error());

$res = mysql_query("select * from atcfavmaps order by mapname");
while($rs = mysql_fetch_array($res)){
?>
    <tr onmouseover="this.style.backgroundColor='#2B4495'; this.style.cursor='hand';" onclick="ChooseMap(<?=$rs["id"]?>)" onmouseout="this.style.backgroundColor='transparent'">
        <td width="100" style="padding-left: 4px;"><font class="menu"><?=$rs["mapname"]?></font></td>
        <td width="170"><input type="text" class="hidden" name="map_<?=$rs["id"]?>" value="" readonly style="width: 170px;"></td>
    </tr>
<?
}
mysql_close($cn);
?>
</table>
Avatar billede roenving Novice
31. juli 2003 - 20:09 #1
<script language="JavaScript">
var maks = 0;
function ChooseMap(id){
if(maks==4)return;
document.forms[0].elements[maks]=id;
maks++;
}
</script>

-- og så en form:

<form action="ditDatabaseScript.php" method="post">
<input name="valg1" type="hidden">
<input name="valg2" type="hidden">
<input name="valg3" type="hidden">
<input name="valg4" type="hidden">
<input type="submit" value="Indsend valg">
</form>
Avatar billede roenving Novice
31. juli 2003 - 20:10 #2
Hov !-)

<script language="JavaScript">
var maks = 0;
function ChooseMap(id){
if(maks==4)return;
document.forms[0].elements[maks].value=id;
maks++;
}
</script>

-- en mindre fejl ,-}
Avatar billede heine_p Nybegynder
31. juli 2003 - 20:14 #3
nej, virker ikke helt. det er stadig det problem med at værdien ikke bliver overført til inputtet. Jeg får en fejl der hedder forms.0
Avatar billede roenving Novice
31. juli 2003 - 20:15 #4
Har du også sat formen på ?-)
Avatar billede heine_p Nybegynder
31. juli 2003 - 20:19 #5
ehh... det hjalp. Men nu har jeg bare et andet problem... det er ikke det rigtige input værdien bliver overført til. den starter med at overføre til 1. input, derefter 2. input osv. -> men ideen er at inputtet som har samme navn som id, skal have værdien.

tror nok du kan se denne fil: http://atc.npcs.dk/login/fav.php
Avatar billede heine_p Nybegynder
31. juli 2003 - 20:20 #6
læg mærke til PHP while-løkken :D -> det er nok den der er problemet :D
Avatar billede roenving Novice
31. juli 2003 - 20:23 #7
Skal det overføres til den tekst-box, som er ved siden af ?-)
Avatar billede heine_p Nybegynder
31. juli 2003 - 20:24 #8
ja
Avatar billede roenving Novice
31. juli 2003 - 20:29 #9
Så skal det vel også være sådan, at man kan fravælge med klikket, og så bliver det:

<script language="JavaScript">
var maks = 0;
function ChooseMap(id){
  if(maks==4)return;
  elm = document.forms[0].elements('map_'+id);
  if(elm.value==""){
    elm.value=id;
    maks++;
  }else{
    elm.value="";
    maks++;
  }
}
</script>
Avatar billede roenving Novice
31. juli 2003 - 20:30 #10
Hov ...

<script language="JavaScript">
var maks = 0;
function ChooseMap(id){
  if(maks==4)return;
  elm = document.forms[0].elements('map_'+id);
  if(elm.value==""){
    elm.value=id;
    maks++;
  }else{
    elm.value="";
    maks--;
  }
}
</script>
Avatar billede heine_p Nybegynder
31. juli 2003 - 20:35 #11
uhhh.. takker rigtig mange gange... men er det muligt at gøre sådan at når man klikker igen fjernes værdien ?? hvis det tager alt for meget tid at lave, skal du bare lade vær, men det ville være en STOR hjælp! :D
Avatar billede heine_p Nybegynder
31. juli 2003 - 20:43 #12
hehe... ups... det har du allerede lavet :D takker mand... skrive lige igen så du kan få lidt point :D
Avatar billede roenving Novice
31. juli 2003 - 20:55 #13
Velbekomme '-)
Avatar billede roenving Novice
31. juli 2003 - 21:00 #14
-- og tak for points ;~}
Avatar billede heine_p Nybegynder
31. juli 2003 - 21:01 #15
self tak :D
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