Подтвердить выбор переключателей
У меня есть этот код для опроса радио-кнопки:
<div id="MyPoll">
How was the game?<br />
<form id="FirstPoll">
<input type="radio" name="Poll1" value="x" onclick="GetVote(this.value)" /> Awesome<br />
<input type="radio" name="Poll1" value="y" onclick="GetVote(this.value)" /> Awful<br />
<input type="submit" value="Submit">
</form>
</div>
где функция "GetVote" это:
function GetVote(int) {
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("MyPoll").innerHTML=xmlhttp.responseText; }
}
xmlhttp.open("GET","PollResults.php?Poll1="+int,true);
xmlhttp.send(); }
Таким образом, когда пользователь голосует, результат отображается напрямую, но я хочу, чтобы пользовательский голос передал кнопку SUBMIT, прежде чем он отобразится. Я предполагаю, что мне нужно вставить document.getElementById("FirstPoll"). Submit(); где-нибудь в моей функции "GetVote" (.... где?), избавиться от событий "onclick" от "input" и вызвать функцию "GetVote" с помощью кнопки отправки? Любое предложение более чем ценить!
Спасибо!
1 ответ
Решение
Запустить отправку из onsubmit
обработчик:
<form id="FirstPoll" onsubmit="GetVote(this); return false;">
...
</form>
function GetVote(form) {
var int = form.Poll1.value;
// Code to submit via AJAX
}