PHP - 选择单选按钮后直接显示消息

时间:2012-11-28 07:51:23

标签: php javascript html radio-button messagebox

我使用的是PHP脚本,但是说我有两个单选按钮,对吧?

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

说我有一个名为RadioButton1的单选按钮,一旦checked/selectedmessage box会出现RadioButton1 Selected

这可以通过PHP单独使用吗?或者我是否需要集成一个发布到PHP页面的html页面?

5 个答案:

答案 0 :(得分:3)

使用Javascript进行客户端交互。下面的代码会侦听onchange事件并显示alert()

<强> jsFiddle Demo

<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,如果是,我们会显示提醒,显示单选按钮的值RadioButton1RadioButton2RadioButton3

答案 1 :(得分:1)

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

所以不,PHP无法实现您的目标。

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

答案 2 :(得分: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
    }); 
 });

答案 3 :(得分: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。

答案 4 :(得分:1)

如果我理解你的问题,我建议只通过Javascript来做。

用户选择RadioButton1后,会在页面中触发“click”事件。我想你知道你可以捕获它,添加onClick属性,如:

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

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

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

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

但如果您只需要显示一个简单的消息,例如“选择选项1”,那么您应该在没有服务器交互的情况下在Javascript中执行此操作。

我希望这会有所帮助。

此致 ROMEN