这种效果如何做呀
我知道用<input type="radio"> ,我想要上面的那种效果,当我选择网银时,出来上面的两个框,下面的两个框隐藏;当我选择学习卡时,出来下面的那个框,上面的两个框隐藏,是这个的效果,你没有明白我的意思
php单选按钮问题
答案:3 悬赏:80
解决时间 2021-11-26 08:05
- 提问者网友:故事与他
- 2021-11-26 00:58
最佳答案
- 二级知识专家网友:哥在撩妹请勿打扰
- 2021-11-26 01:29
用ajax:
test.php代码:
<?php
header("Content-Type: text/xml;charset=GB2312");//处理发送给ajax的中文信息不会出现乱码
$md = $_GET["md"];
$sInfo = "";
if ($md == "xuexika")
{
$sInfo = "请输入卡号:<input type=\"text\" name=\"kahao\"></input><br />
请输入密码:<input type=\"text\" name=\"mima\"></input>";
}
else if ($md == "wangyin")
{
$sInfo = "请选择充值方式:
<select name=\"bizhong\">
<option value=\"renminbi\" >人民币</option>
<option value=\"meiyuan\">美元</option>
</select><br />
请选择充值金额:
<input type=\"text\" name=\"jinge\"></input>";
}
echo $sInfo;
?>
test.html代码:
<script type="text/javascript">
function requestInfo()
{
var mdall = document.getElementsByName("chace");
var md = "";
for(var i=0; i<mdall.length; i++)
{
if(mdall[i].checked){
md=mdall[i].value;
}
}
var oXmlHttp = createXMLHttp();
oXmlHttp.open("get", "test.php?md="+md, true);
oXmlHttp.onreadystatechange = function () {
if (oXmlHttp.readyState == 4) {
if (oXmlHttp.status == 200) {
displayInfo(oXmlHttp.responseText);
} else {
displayInfo("An error occurred: " + oXmlHttp.statusText);
}
}
}
oXmlHttp.send(null);
}
function createXMLHttp()
{
if (typeof XMLHttpRequest != "undefined")
{
return new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
var aVersions = [ "MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];
for (var i = 0; i < aVersions.length; i++)
{
try
{
var oXmlHttp = new ActiveXObject(aVersions[i]);
return oXmlHttp;
}
catch (oError)
{
//Do nothing
}
}
}
throw new Error("XMLHttp object could not be created.");
}
function displayInfo(sText)
{
var divInfo = document.getElementById("divInfo");
divInfo.innerHTML = sText;
}
</script>
支付方式:
<input type="radio" id="chace" name="chace" value="wangyin" onclick="requestInfo()">网银</input>
<input type="radio" id="chace" name="chace" value="xuexika" onclick="requestInfo()" >学习卡</input>
<div id="divInfo"></div>
你运行test.htm就可以实现你需要的功能。
test.php代码:
<?php
header("Content-Type: text/xml;charset=GB2312");//处理发送给ajax的中文信息不会出现乱码
$md = $_GET["md"];
$sInfo = "";
if ($md == "xuexika")
{
$sInfo = "请输入卡号:<input type=\"text\" name=\"kahao\"></input><br />
请输入密码:<input type=\"text\" name=\"mima\"></input>";
}
else if ($md == "wangyin")
{
$sInfo = "请选择充值方式:
<select name=\"bizhong\">
<option value=\"renminbi\" >人民币</option>
<option value=\"meiyuan\">美元</option>
</select><br />
请选择充值金额:
<input type=\"text\" name=\"jinge\"></input>";
}
echo $sInfo;
?>
test.html代码:
<script type="text/javascript">
function requestInfo()
{
var mdall = document.getElementsByName("chace");
var md = "";
for(var i=0; i<mdall.length; i++)
{
if(mdall[i].checked){
md=mdall[i].value;
}
}
var oXmlHttp = createXMLHttp();
oXmlHttp.open("get", "test.php?md="+md, true);
oXmlHttp.onreadystatechange = function () {
if (oXmlHttp.readyState == 4) {
if (oXmlHttp.status == 200) {
displayInfo(oXmlHttp.responseText);
} else {
displayInfo("An error occurred: " + oXmlHttp.statusText);
}
}
}
oXmlHttp.send(null);
}
function createXMLHttp()
{
if (typeof XMLHttpRequest != "undefined")
{
return new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
var aVersions = [ "MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];
for (var i = 0; i < aVersions.length; i++)
{
try
{
var oXmlHttp = new ActiveXObject(aVersions[i]);
return oXmlHttp;
}
catch (oError)
{
//Do nothing
}
}
}
throw new Error("XMLHttp object could not be created.");
}
function displayInfo(sText)
{
var divInfo = document.getElementById("divInfo");
divInfo.innerHTML = sText;
}
</script>
支付方式:
<input type="radio" id="chace" name="chace" value="wangyin" onclick="requestInfo()">网银</input>
<input type="radio" id="chace" name="chace" value="xuexika" onclick="requestInfo()" >学习卡</input>
<div id="divInfo"></div>
你运行test.htm就可以实现你需要的功能。
全部回答
- 1楼网友:怪咖小青年
- 2021-11-26 02:33
这个实现的原理很简单,其实是通过一个表单,操作get参数,通过获取不同的get参数,来调节 sql查询语句的行为,具体的代码如下:
// 假设共有3种搜索类别:0)全局搜索 1)标题搜索 2)关键字搜索
// 表单代码设置为get模式提交,因为是演示,所以我只把关键代码写出来
'
';
// $_get['searchtype'] == 0 | 全局搜索
// $_get['searchtype'] == 1 | 标题搜索
// $_get['searchtype'] == 2 | 关键字搜索
// 通过switch语句去筛选sql语句行为,当然因为是get模式所以需要注意容错处理,防止恶意用户进行sql注入,我这里就不写具体的容错方法了,只是教你原理
switch ($_get['searchtype']) {
case '0':
$sql = "select `字段` from `表名` where `标题字段` like '%搜索的内容%' or `关键字字段` like '%搜索的内容%' or `内容字段` like '%搜索的内容%';";
break;
case '1':
$sql = "select `字段` from `表名` where `标题字段` like '%搜索的内容%';";
break;
case '2':
$sql = "select `字段` from `表名` where `关键字字段` like '%搜索的内容%'";
break;
default: // 属于非法操作,按全局执行
$sql = "select `字段` from `表名` where `标题字段` like '%搜索的内容%' or `关键字字段` like '%搜索的内容%' or `内容字段` like '%搜索的内容%';";
}
// 因此根据用户选择的不同,sql查询的行为结果,也就不一样如果还有问题,欢迎追问~
- 2楼网友:末路丶一枝花
- 2021-11-26 02:18
index.php 提交到 do.php
do.php 页判断
//假定 1=平邮 2=快递 3=EMS 4=同城快递
<?php
switch ($_POST['od[freight]'])
{
case 1:
echo "平邮";
break;
case 2:
echo "快递";
break;
case 3:
echo "EMS";
break;
case 4:
echo "同城快递";
}
?>
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯