Вот мой код.Это функция, которая использует this.id
для прохождения, но при отладке она выглядит как undefined
.
function display()
{
//creates request
request = createRequest();
if(request == null)
alert("Unable to create request");
else
{
//get value of radio button
var radioChoice = this.id;
var url = "processing.php?file=" + radioChoice; // creates URL
request.onreadystatechange = randomize(); // call back function
request.open("GET", url, true);
request.send(null); // sends request to server
}
}
и вот код переключателя:
<div class="floatright">
<p>Select the quiz that has the scambled code you want to fix.</p>
<input type="radio" name="quiz" id="addpara" onClick="display()">Quiz 1 - addpara()</input><br />
<input type="radio" name="quiz" id="swaptext" onClick="display()">Quiz 2 - swaptext()</input><br />
<input type="radio" name="quiz" id="showhint" onClick="display()">Quiz 3 - show_hint()</input><br />
<br />
</div>
Почему я ничего не могу передать в radioChoice
?
Правка
ОК, я понял, что пропустил важную часть предыдущего задания.Этот код:
function initPage()
{
var radioList = document.getElementsByName("quiz").length;
for(var i=0; i < radioList; i++)
{
document.getElementsByName("quiz")[i].disabled = true;
document.getElementsByName("quiz")[i].onclick = display; //register onclick event
}
}
Часть, которую я должен был добавить, была регистрация события onclick, но теперь вот мой вопрос: почему это не работает по-другому?Если мне нужно иметь onclick
внутри HTML, почему бы ему не найти id
, но при перерегистрации это делает?