Witam,
W formularzu przekazującym dane do bazy mam przyciski radio button, w postaci:
<input type="radio" id="question1a" name="label" value="1" /> <label for="question1a" id="label1a" onclick="document.getElementById('question1a').click();setTimeout('check(1)', 1)"><img src="img/vote3.jpg" onmouseover="this.className='hover'" onmouseout="this.className=''" alt="Nie" /></label> <input type="radio" id="question1b" name="label" value="2" /> <label for="question1b" id="label1b" onclick="document.getElementById('question1b').click();setTimeout('check(1)', 1)"><img src="img/vote2.jpg" onmouseover="this.className='hover'" onmouseout="this.className=''" alt="Mniej więcej" /></label> <input type="radio" id="question1c" name="label" value="3" /> <label for="question1c" id="label1c" onclick="document.getElementById('question1c').click();setTimeout('check(1)', 1)"><img src="img/vote1.jpg" onmouseover="this.className='hover'" onmouseout="this.className=''" alt="Tak" /></label>
Funkcja sprawdzająca wygląda następująco:
function check(id) {
try {
if (document.getElementById('question' + id + 'a').checked)
document.getElementById('label' + id + 'a').className='selected';
else
document.getElementById('label' + id + 'a').className='';
if (document.getElementById('question' + id + 'b').checked)
document.getElementById('label' + id + 'b').className='selected';
else
document.getElementById('label' + id + 'b').className='';
if (document.getElementById('question' + id + 'c').checked)
document.getElementById('label' + id + 'c').className='selected';
else
document.getElementById('label' + id + 'c').className='';
} catch (e) {}
}
check(1);
check(2);
check(3);
Problem z tym, że przyciski nie przekazują wartości zaznaczonej, ale gdy zmienię atrybut name w radiobuttonach na każdy inny, np:
<input type="radio" id="question1a" name="label" value="1" /> <label for="question1a" id="label1a" onclick="document.getElementById('question1a').click();setTimeout('check(1)', 1)"><img src="img/vote3.jpg" onmouseover="this.className='hover'" onmouseout="this.className=''" alt="Nie" /></label> <input type="radio" id="question1b" name="label2" value="2" /> <label for="question1b" id="label1b" onclick="document.getElementById('question1b').click();setTimeout('check(1)', 1)"><img src="img/vote2.jpg" onmouseover="this.className='hover'" onmouseout="this.className=''" alt="Mniej więcej" /></label> <input type="radio" id="question1c" name="label3" value="3" /> <label for="question1c" id="label1c" onclick="document.getElementById('question1c').click();setTimeout('check(1)', 1)"><img src="img/vote1.jpg" onmouseover="this.className='hover'" onmouseout="this.className=''" alt="Tak" /></label>
to dane są przekazywane ale w powyższym przykładzie można zaznaczyć trzy buttony jednocześnie.
Czy ktoś potrafi mnie naprowadzić gdzie mam błąd?