Autor Zpráva
Venca190
Profil *
Dobrý den,

mám výběr položky na dopravu... položka jde vybrat pouze jedna(pomocí radion inputu) tedy např.

<label><input type="radio" name="doprava" value="100">Česká pošta</label>
<label><input type="radio" name="doprava" value="120">PPL</label>
<label><input type="radio" name="doprava" value="130">DPD</label>
<span> vybraná doprava .... a cena ..... </span>

jak mám docílit toho, aby se mi v oblasti <span> zobrazilo co jsem aktuálně vybral, bez znovunačtení stránky?
Str4wberry
Profil
Hodnotu vybraného radia jde zjistit následovně: Hodnota zaškrtnutého radio <input>u

Potom ji stačí jen někde vypsat.
Venca190
Profil *
To, ale nefunguje bez znovunačtení stránky nebo se mi to aspon nedaří
Keeehi
Profil
Venca190:
To, ale nefunguje bez znovunačtení stránky nebo se mi to aspon nedaří
To zřejmě děláš něco špatně. A my nebudeme hádat co. Nejdříve nám musíš ukázat, co jsi stvořil a my se pak můžeme snažit ti poradit.
Venca190
Profil *
Keeehi:
Mám to ve fázi
<script type="text/javascript">
 function changeDivContent(){   
var myDiv = document.getElementById("content");
  myDiv.innerHTML = radioValue("radiobutton");
}  

function radioValue(radioCollection) {
  for (var i = radioCollection.length - 1; i >= 0; i--) {
    if (radioCollection[i].checked) {
      return radioCollection[i].value;
    }
  }
}
</script>
    <input type="radio" name="radiobutton" value="A" onClick="changeDivContent()">
    <input type="radio" name="radiobutton" value="B" onClick="changeDivContent()">
    <div id="content"></div>

když vyberu hodnotu napíše mi to undefined
Keeehi
Profil
<script type="text/javascript">
 function changeDivContent(input){   
document.getElementById("content").innerHTML = input.value;
} 
</script>
    <input type="radio" name="radiobutton" value="A" onClick="changeDivContent(this)">
    <input type="radio" name="radiobutton" value="B" onClick="changeDivContent(this)">
    <div id="content"></div>
Venca190
Profil *
Keeehi:
Díky, funguje parádně, nicméně, když jsem do scriptu přidal
<form action="" method="post">
přestalo to fungovat... v scriptu mám ještě více inputů(type="text") jestli to taky nevadí?
Venca190
Profil *
Lze to prosím nějak vyřešit?
+ ještě mě napadla jedna věc, když mám
<script type="text/javascript">
 function changeDivContent(input){   
document.getElementById("content").innerHTML = input.value;
} 
</script
<form action="" method="post">
   Česká pošta  <input type="radio" name="radiobutton" value="120" onClick="changeDivContent(this)">
   PPL                <input type="radio" name="radiobutton" value="120" onClick="changeDivContent(this)">
    <div id="content"></div>
    ...
    ...
    ...
tak při výběru se mi v contentu ukáže hodnota(cena) radia...to je správně, nicméně tyto údaje ukládám do DB, takže se mi uloží hodnota 120 a podle té už nezjistím jestli uživatel vybral Českou poštu nebo PPL, protože je stejná cena. Potřeboval bych tedy ukládat hodnotu do value jako ID dopravy(mám je v DB), ale podle toho se mi zase nebude ukazovat cena dopravy, ale ID dopravy. Jak se řeší toto?
Keeehi
Profil
Použijete druhý způsob a v javascriptu buďte mít ještě pole pro překlad z ID dopravy na jeho cenu.
Venca190
Profil *
Keeehi:
aha tak to je pro mě moc složité, tak se bez toho budu muset obejít(nevím ani jak bych to zadal do google)... nevěděl byste prosím aspoň, jak docílit, aby mi to fungovalo, když to mám ve <form>u ?
Keeehi
Profil
Venca190:
aby mi to fungovalo, když to mám ve <form>u ?
Není důvod aby to nefungovalo. Rozbil jsi nějak jinak než si asi myslíš.
Venca190
Profil *
Divný... oddělil jsem script do samotného souboru, mám to

<script type="text/javascript">
function zmena(input){   
document.getElementById("content").innerHTML = input.value;
} 
</script>
<?php
echo '<form action="" method="get">';
echo '<table>
      <th>Doprava</th>
      <th>Cena</th>';
$sql = dibi::fetchAll("SELECT * FROM doprava");
foreach($sql as $row) {
echo '<tr>
      <td><input type="radio" name="doprava" value="'.$row['cena'].'" onClick="zmena(this)">'.$row['nazev'].'</td>
      <td>'.$row['cena'].'</td>
      </tr>';
}
    echo '</table>';
    echo '</form>';    
  echo '<div id="content"></div>';
?>

-- nefunguje

<script type="text/javascript">
function zmena(input){   
document.getElementById("content").innerHTML = input.value;
} 
</script>
<?php
// echo '<form action="" method="get">';
echo '<table>
      <th>Doprava</th>
      <th>Cena</th>';
$sql = dibi::fetchAll("SELECT * FROM doprava");
foreach($sql as $row) {
echo '<tr>
      <td><input type="radio" name="doprava" value="'.$row['cena'].'" onClick="zmena(this)">'.$row['nazev'].'</td>
      <td>'.$row['cena'].'</td>
      </tr>';
}
    echo '</table>';
//    echo '</form>';    
  echo '<div id="content"></div>';
?>

funguje, v čem je tedy problém?
Venca190
Profil *
vyřešeno, díky za pomoc

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0