1

PHPでいくつかの作業を行っています。私は2つのphpページを持っています

index.php

<html>
<head>
<script>
function getVote(int)
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("poll").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","poll-vote.php?vote="+int,true);
xmlhttp.send();
}
</script>
</head>
<body>
<h3>Is this correct? </h3>
<div id="poll">

<form>
Yes:
<input type="radio" name="vote" value="0">
<br>No:
<input type="radio" name="vote" value="1">
<input type="submit" value="Forward" onclick="getVote(value);"> 
</form>
</div>
</body>
</html>

送信ボタンをクリックすると、選択したラジオボタンの値を取得して関数に渡す必要があります。

私を助けてください

4

6 に答える 6

1

youe onclickインラインで関数だけを呼び出します...

 <input type="submit" value="Forward" onclick="getVote();"> //here

関数でチェックされた無線値を取得します..

var radiovalue= $('input[name="vote"]:checked').val()

これを試して

ジャバスクリプト

function getVote()
{
 var radiovalue= $('input[name="vote"]:checked').val()
 if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  }
 else
 {// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
 xmlhttp.onreadystatechange=function()
{

 if (xmlhttp.readyState==4 && xmlhttp.status==200)
  {
   document.getElementById("poll").innerHTML=xmlhttp.responseText;
  }
}
xmlhttp.open("GET","poll-vote.php?vote="+radiovalue,true);
xmlhttp.send();
}

HTML

<input type="submit" value="Forward" onclick="getVote();"> 
于 2013-01-08T12:15:20.027 に答える
0

最初にフォームにアクションとメソッド属性を提供します

<form action="index.php" method="post">

そして、あなただけが以下のような値を得ることができます:

$vote = $_POST['vote'];

これがあなたが探しているものであることを願っています。

于 2013-01-08T12:11:13.740 に答える
0

試す:

function getVote()
{
    var int=document.getElementById("vote").value;
    ....

編集: 無線入力であることに気付きました...これは機能しません。次のようなものが必要です:

function getRadioCheckedValue(radio_name)
{
   var oRadio = document.forms[0].elements[radio_name];

   for(var i = 0; i < oRadio.length; i++)
   {
      if(oRadio[i].checked)
      {
         return oRadio[i].value;
      }
   }

   return '';
}

そして、次のようにします。

function getVote()
{
    var int=getRadioCheckedValue(vote);
    ....
于 2013-01-08T12:11:25.093 に答える
0

jquery を介して、次のように選択したラジオの値を取得できます。

$('input[name=vote]:checked').val()
于 2013-01-08T12:17:39.177 に答える
0

これら2つを変更してみてください:

<form name="myForm"> 

onclick="getValue(document.myForm);"

次に関数:

function getValue(form){
 var value = '';
 for (var i = 0; i < form.elements.length; i++ ) {
   if (form.elements[i].type == 'radio') {
         if(form.elements[i].checked == true) {
             value = form.elements[i].value;
        }
     }
   }

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("poll").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","poll-vote.php?vote="+value,true);
xmlhttp.send();
}
于 2013-01-08T12:18:31.040 に答える
0

値なしで関数を呼び出してから、次のように関数間のラジオボタンを読み上げます。

var rval = document.getElementsByName('vote');

for (var i = 0, length = rval.length; i < length; i++) {
    if (rval[i].checked) {
        alert(rval[i].value); // your value
    }
}
于 2013-01-08T12:19:53.620 に答える