使用SUBMIT按钮发送投票结果

时间:2014-06-02 02:43:31

标签: javascript php forms submit getelementbyid

我有一个民意调查的代码:

<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(),但我不确定如何将其合并到代码中。 任何建议 离子?

1 个答案:

答案 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
}