如何在 PHP 中使用 AJAX 获取选中的单选按钮值?

Posted

技术标签:

【中文标题】如何在 PHP 中使用 AJAX 获取选中的单选按钮值?【英文标题】:How to get checked radio button value using AJAX in PHP? 【发布时间】:2011-01-09 21:35:57 【问题描述】:

我将在 php 中使用 AJAX 获取选中的单选按钮值。我已经完成了以下代码,但我无法继续。

我需要你的帮助。

ajax_radio.php

<html>
  <head>
    <script type="text/javascript" src="ajax.js" ></script>
  </head>
  <body>
    <input type="radio" name="radio1">Blue</input>
    <input type="radio" name="radio2">White</input>
    <input type="radio" name="radio3">Red</input>
    <input type="button" name="btn" value="Click" onClick="hello('a')"></input><br />
   <input type="text" id="btn_get" name="get_btn_value"></input>
  </body>
</html>

ajax.js

var xmlHttp;
function GetXmlHttpObject()
    try
        xmlHttp = new XMLHttpRequest();
    
    catch(e)
        try
            xmlHttp = new ActiveXObject(Msxml2.XMLHTTP);
        
        catch(e)
            try
                xmlHttp = new ActiveXObject(Microsoft.XMLHTTP);
            
            catch(e)
                alert("doesn't support AJAX");
                return false;
            
        
    

function hello(a)
    GetXmlHttpObject();
    xmlHttp.open("GET","ajax_radio.html?",true);
    xmlHttp.onreadystatechange = response;
    xmlHttp.send(null);

function response()
    if(xmlHttp.readyState == 4)
        if(xmlHttp.status == 200)
            var radio_text = xmlHttp.responseText;
            document.getElementById('btn_get').innerHTML = radio_text;
        
    

你知道如何完成吗?提前致谢。 :)

编辑:

由于网络速度太慢,我现在无法在此处发布代码。对不起。

我已在rapidshare 中分享它。能不能先下载,然后帮忙?非常感谢。

我回家后必须更新它。太糟糕了。

【问题讨论】:

huuuuh,所以您不能粘贴代码,因为我们的网络很慢?我认为粘贴是标准的 Windows 功能:D... 我可以粘贴代码,但是当我提交页面时,它竟然是空白的。我尝试在其他地方发布或制作一个 zip 文件。我很抱歉。 只需将 ajax 的源代码用
包装即可 选择您的代码并单击编辑器中带有 1 和 0 的漂亮小按钮。代码必须始终由四个空格表示。 如果有人真的下载了它,请帮我们一个忙并粘贴进去。 【参考方案1】:

因为我主要使用 Jquery 我在这里写了一个 jquery snipped 来检查单选按钮的值,因为它更容易和更清晰:

<script src="http://www.google.com/jsapi"></script>
<script>
    google.load("jquery", "1.4.0");
</script>
<script type="text/javascript">
    $(function() 
        $('#buttoncheck').click(function () 
            var var_name = $("input[name='radio1']:checked").val();
            $('#btn_get').val(var_name);
        );
    );
</script>
<html>
    <head>
        <script type="text/javascript" src="ajax.js" ></script>
    </head>
    <body>
        <input type="radio" value="Blue" name="radio1">Blue</input>
        <input type="radio" value="White" name="radio1">White</input>
        <input type="radio" value="Red" name="radio1">Red</input>
        <input id="buttoncheck" type="button" name="btn" value="Click"></input>
        <br />
        <input type="text" id="btn_get" name="get_btn_value"></input>
    </body>
</html>

在这里查看 jquery:Jquery

说明: 这部分选择 ID 为 #buttoncheck 的项目并检查其是否运行:$('#buttoncheck').click(function ()

然后它将运行函数中的代码。此代码获取名称为 radio1 的输入框的值。 ':checked' 确保它只选择选中的单选按钮的值:

var var_name = $("input[name='radio1']:checked").val(); 

最后。这会将变量的值放入以#btn_get为id的项目中:

$('#btn_get').val(var_name);

【讨论】:

@非常感谢 RJD22,你太棒了!!!你救了我,给了我一个很好的教程。虽然完成了,但我必须潜入其中。我现在正在学习使用 jQuery,但我仍然很难理解您的代码。我仍然想尝试用纯ajax来实现它。 @garcon1986:jQuery 是使用“纯”Ajax 的“纯”JS。唯一能让您的生活更轻松的是不必担心跨浏览器兼容性和其他一些好帮手。 @Felix,感谢您的解释。 jQuery 对于开发人员来说是一个非常好的工具。干杯。 @garcon1986:我写的截图很简单。因为想学怎么用我加了个小说明 @Danny 是的,很容易实际上只需将其更改为 $("input[name='radio1']").change(function ()

以上是关于如何在 PHP 中使用 AJAX 获取选中的单选按钮值?的主要内容,如果未能解决你的问题,请参考以下文章

如何在组合框中获取已选中的单选按钮?

更改单选按钮选中状态时如何从单选按钮组中的单选按钮获取文本

获取 Ajax 行为中的单选按钮选择值

React.js - 如何设置选中/选中的单选按钮并跟踪 onChange?

从ajax请求动态生成的单选按钮获取值

使用ajax在单击时保存单选按钮的值