2013-01-08 80 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 
    } 
} 
相關問題