2013-01-08 51 views
0

我正在做一些PHP工作。我有两个PHP页面获取单选按钮onclick的提交值并将值传递给函数

的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> 

上提交按钮,我需要选择的单选按钮的值,并将其传递给函数的点击。

请帮我

+0

你使用像jQuery或库平原js? – mallix

+0

可能的重复:http://stackoverflow.com/questions/596351/how-can-i-get-which-radio-is-selected-via-jquery – mipe34

+0

@mallix - 这里我没有使用任何库 –

回答

0

提供的动作和方法属性,形成第一

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

而不是仅仅可以得到像下面的值:

$vote = $_POST['vote']; 

我希望这是你正在找。

+0

他在做一个AJAX调用,sooo nope。 – Naryl

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); 
    .... 
1

通话只是一个函数在YOUE内嵌的onclick ...

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

,并在你的功能得到检查收音机的价值。 。

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

试试这个

JAVASCRIPT

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();"> 
0

通过jQuery你可以选择电台的价值是这样的:

$('input[name=vote]:checked').val() 
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(); 
} 
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 
    } 
} 
相关问题