我有一个民意调查的代码:
<div id="pollE2">
How's the weather today?<br />
<form>
<input type="radio" name="voteE2" value="a" onclick="VoteNow(this.value)" /> Good
<input type="radio" name="voteE2" value="b" onclick="VoteNow(this.value)" /> Bad
</form>
</div>
“VoteNow”函数看起来像这样(它将结果发送到“resultsE2.php”文件......):
function VoteNow(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("pollE2").innerHTML=xmlhttp.responseText; }
}
xmlhttp.open("GET","resultsE2.php?voteE2="+int,true);
xmlhttp.send(); }
当用户从拉动中选择一个选项时,结果会直接显示,但我希望用户能够在执行之前单击SUBMIT按钮。
我尝试使用document.getElementById(formID).submit()
,但我不确定如何将其合并到代码中。
任何建议
离子?
答案 0 :(得分:0)
更改HTML
<form id="vote-form">
更改您的代码
function VoteNow(vote) {
//Added line
var xmlhttp;
var vote = getRadioButtonValue();
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("pollE2").innerHTML=xmlhttp.responseText; }
}
xmlhttp.open("GET","resultsE2.php?voteE2="+vote, true);
xmlhttp.send();
}
var form = document.getElementById("vote-form");
form.onsubmit = function {
VoteNow();
// Prevent the form from submitting
return false;
};
function getRadioButtonValue() {
//http://stackoverflow.com/questions/9618504/get-radio-button-value-with-javascript
}