1

我正在使用 PHP 脚本,但是说我有两个单选按钮,对吗?

在选择一个或另一个时,我如何实际执行代码,例如(主要意图|显示消息框)?

假设我有一个名为RadioButton1“一旦”的单选按钮checked/selectedmessage box会出现一个说法RadioButton1 Selected

仅通过PHP可以做到这一点吗?还是我需要集成一个发布到 PHP 页面的 html 页面?

4

5 回答 5

3

像这样使用 Javascript 进行客户端交互。下面的代码监听onchange事件并显示一个alert().

jsFiddle 演示

<input type="radio" name="myradio" value="RadioButton1" />
<input type="radio" name="myradio" value="RadioButton2" />
<input type="radio" name="myradio" value="RadioButton3" />

<script>
​window.onload = function()
{
    var radios = document.getElementsByName("myradio");
     for(var i=0; i<radios.length; i++)
     {
        radios[i].onchange = function()
        {
            if(this.checked)
            {
                alert(this.value + " selected");
            }
        }
     }             
}​
</script>

前 3 行是单选按钮 HTML。之后,我们有了<script>表示Javascript代码的标签。Javascript 正在向onload事件中添加一些代码,这简单的意思是:在页面加载时执行此代码。接下来,我们将所有单选按钮元素放入一个名为的数组radios中 - 为此我们使用getElementsByName()传递单选按钮组名称,即myradio. 接下来我们遍历数组中的每个单选按钮并分配一个onchange处理程序,这意味着:当每个单选按钮更改时执行此代码。在其中,我们检查单选按钮是否存在checked,如果是,我们显示警报,显示单选按钮的值,即RadioButton1, RadioButton2, RadioButton3

于 2012-11-28T08:00:01.623 回答
1

选择表单元素是在客户端的浏览器中完成的,而 PHP 是一种服务器端语言。在某些数据实际发送回服务器之前,它绝对不知道用户点击了什么,例如,在提交表单时通过 POST 请求。

所以不,PHP 无法实现您所追求的。

不过有一个简单的方法。JavaScript 在客户端执行,因此您可以轻松地将事件侦听器附加到单选按钮并在需要时显示消息框。

于 2012-11-28T07:55:46.713 回答
1

仅使用 php 是不可能的!尝试使用 Jquery,因为最简单的是这样做

$(document.body).on('click', '#radio-btn', function(){
    $.get( 'file1.php' , function (data) {
          //whatever you want to do after fetching the data from a php file
    }); 
 });
于 2012-11-28T07:56:19.007 回答
1

单独使用 php 是不可能的,但你可以使用 Jquery ajax 来做到这一点。为此,请在单击单选按钮时发出 ajax 请求,并使用响应的数据填充消息框。让我用一个例子来解释:

<div id='msg_box'>Message will be displayed here</div>

单击单选按钮调用 javascript 函数说 ajaxCallForMessage()

<script type="text/javascript">
function ajaxCallForMessage(){
$.ajax({
url: "Url of the page which contain message/?btn_name=xy",
 mthod: "GET"
}).done(function ( data ) {
$('#msg_box').append(data);
});

}

</script>

确保您包含 jquery。

于 2012-11-28T07:57:58.340 回答
1

如果我正确理解了您的问题,我建议您只需通过 Javascript 即可。

一旦用户选择了 RadioButton1,就会在页面中触发“点击”事件。我猜你知道你可以通过添加如下onClick属性来捕获它:

<input type="radio" name="Radio1" value="RadioOption1" onclick="showMessage()"> Option 1

然后您需要做的就是创建一个 Javascript 函数showMessage,将一些 html 添加到页面(可能是一个段落)以及您想要显示的消息。您可以轻松地在 Javascript 中执行此操作,例如使用 jQuery append 或 html 函数。

function showMessage() {
   // Example displaying an alert
   alert("Message to be displayed here")
}

如果确实需要从服务器获取信息,我只会在这里介绍 PHP。在这种情况下,您应该做的可能是从页面到服务器的 GET / POST(例如,通过 jQuery getpost方法使用 AJAX)。您将调用一个 PHP 脚本,该脚本返回一些信息,这些信息随后将通过 Javascript 显示在页面中。

但是,如果您只需要显示一条简单的消息,例如“已选择选项 1”,您应该在 Javascript 中执行此操作,而无需与服务器交互。

我希望这有帮助。

问候, 罗曼

于 2012-11-28T08:08:36.383 回答