Avatar billede floetti Nybegynder
23. februar 2007 - 17:07 Der er 12 kommentarer og
1 løsning

Styr radio med javascript

Hej,

Jeg har lavet nogle radio knapper med

name="area[1][1]"
name="area[1][2]"
name="area[1][3]"

det skal kun være muligt at vælge en af dem. Kan jeg ikke lave et eller andet i javascript, da det nu er muligt at vælge alle tre?

Tak på forhånd.
Avatar billede Slater Ekspert
23. februar 2007 - 18:08 #1
Er det <input type="radio">? I så fald skal du bare lægge dem i den samme <form>, så sker det automatisk.
Avatar billede floetti Nybegynder
23. februar 2007 - 18:55 #2
jo, men det er navnet sum afgør hvilken gruppe de hører til... og de er ikki ens
Avatar billede coderdk Praktikant
23. februar 2007 - 19:59 #3
Derfor skal de så have samme navn ;) Du må smide det ind i value...
Avatar billede coderdk Praktikant
23. februar 2007 - 19:59 #4
ID'en kan være forskellig, og så kan du få fat i dem med document.getElementById :)
Avatar billede roenving Novice
24. februar 2007 - 15:35 #5
Selvfølgelig kan man lave et javascript, men det vil være adskilligt lettere at udnytte funktionaliteten direkte i det element, som html stiller til rådighed !-)
Avatar billede floetti Nybegynder
24. februar 2007 - 21:06 #6
ja, det er rigtigt... Jeg har sat dette samme:

$match = mysql_query("Select * from events where divisionid = '".$_GET['gdivision']."' && date >=  '".time()."' && FROM_UNIXTIME(date,'%v') = '".$week."' && listed = 'Y' order by date") or die(mysql_error());
$groups = array();
$groupNames = array();
while($row_match = mysql_fetch_array($match)){
$tjek = mysql_query("select * from tipping where userid = '".$sessionid."' && dystid = '".$row_match['id']."'");
if(!mysql_num_rows($tjek)){
$groups[$row_match['id']] = array('1','x','2');
$groupNames[$row_match['id']] = $row_match['home'] . " - " . $row_match['out'];
}
$i++;
}

foreach($groups as $gkey => $gval ) {
  print "<tr class='tipbg'><td>" . $groupNames[$gkey] . "</td>";
  foreach($gval as $ikey => $ival) {
  print "<td align=\"center\"><input type=\"radio\" name=\"matchid[$gkey][$ival]\"></td>\n";
  }
    print "</tr>";
}

Det er et lille tipping system som jeg er i gang med, hvor meningen er at man vælger som sædvanligt 1,x eller 2...

Om jeg så skulle lægge dem i value, hvordan kann jeg så hente dem frem?
Avatar billede roenving Novice
25. februar 2007 - 01:24 #7
Hvis du navngiver en gruppe elementer f.eks. matchid[1][], vil de opføre sig som en samlet gruppe (kun een kan vælges), og du kan hente værdien i dit php-script med matchid[1][0], matchid[1][1] og matchid[1][2] ...
Avatar billede floetti Nybegynder
15. marts 2007 - 11:55 #8
Hej igen... nu har jeg prøvet lidt frem og tilbage med dit forslag, og jeg kan godt få det sat ind i databasen, men problemet er at $ival ( altså 1,x,2 ) værdien ikke kommer med i sql-insert koden. Ser nogen det jeg ikke kan finde ud af, eller er der måske en helt anden mulighed som er bedre?

Nu ser radio knapperne således ud:
<input type="radio" name="matchid[63][]" value="matchid[63][1]">
<input type="radio" name="matchid[63][]" value="matchid[63][x]">
<input type="radio" name="matchid[63][]" value="matchid[63][2]">


$values = array();
$match_tip = $_POST['matchid'];
printf("$match_tip");
if( isset($match_tip) && is_array($match_tip) ) {
foreach($match_tip as $gkey => $gval) {
if( isset($groups[$gkey]) ) {
foreach($gval as $ikey => $ival) {
if( isset($match_tip[$gkey][$ikey]) ) {
$sql = "insert into sport_tipping (userid,dystid,tip,date) values ('".$sessionid."','".$gkey."','".$ikey."','".time()."')";
mysql_query($sql) or die(mysql_error());
echo $gkey . " = " . $ikey . "( " . $sql . " )<br>\n";
}
}
}
}

På forhånd tak
Avatar billede roenving Novice
15. marts 2007 - 12:00 #9
Skal de ikke se således ud:

<input type="radio" name="matchid[63][]" value="1">
<input type="radio" name="matchid[63][]" value="x">
<input type="radio" name="matchid[63][]" value="2">
Avatar billede coderdk Praktikant
15. marts 2007 - 12:07 #10
Skal det ikke være:

<input type="radio" name="matchid[63][1]" value="1">
<input type="radio" name="matchid[63][1]" value="x">
<input type="radio" name="matchid[63][1]" value="2">

<input type="radio" name="matchid[63][2]" value="1">
<input type="radio" name="matchid[63][2]" value="x">
<input type="radio" name="matchid[63][2]" value="2">

osv?
Avatar billede coderdk Praktikant
15. marts 2007 - 12:08 #11
Eller

<input type="radio" name="matchid[63]" value="1">
<input type="radio" name="matchid[63]" value="x">
<input type="radio" name="matchid[63]" value="2">

<input type="radio" name="matchid[64]" value="1">
<input type="radio" name="matchid[64]" value="x">
<input type="radio" name="matchid[64]" value="2">

osv?
Avatar billede floetti Nybegynder
15. marts 2007 - 12:17 #12
nu har jeg lige prøvet med de forslag.

-> roenving: forslaget kommner med samme resultat, hvor value ikke kommer med...

.. og det som du "coderdk" skriver i det sidste er såden jeg kunne tænke mig at det så ud.
Avatar billede floetti Nybegynder
15. marts 2007 - 13:16 #13
flyttet over i php kategorien, da det ikke har med javascript at gøre mere. Forsættelse: http://www.eksperten.dk/spm/768105
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

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