从服务器填充一个列表
来源:互联网 发布:网络软文兼职 编辑:程序博客网 时间:2024/06/15 01:12
问题描述:根据用户对另一个表单的操作,我们用值填充一个选项列表。
解决方案:将选择的值作为参数拼接到URL上发生给服务器,服务器根据参数查询出对应的结果返回给客户端,使用Ajax+PHP.
客户端程序
<!DOCTYPE html><html><head> <title>On Demand Select</title> <style type="text/css"> #nicestuff{ display: none;; margin:10px 0; } #nicething{ width: 400px; } </style></head><body><form action="backuppage.php" method="get"> <p>Select one:</p> <!-- fieldset 元素可将表单内的相关元素分组。 --> <fieldset id="nicething"> <input type="radio" name="nicethings" value="brid"> <label for="brid">Brids</label><br> <input type="radio" name="nicethings" value="flower"> <label for="flower">Flowers</label><br> <input type="radio" name="nicethings" value="sweets"> <label for="sweets">Sweets</label><br> <input type="radio" name="nicethings" value="cuddles"> <label for="cuddles">Cut Critters</label><br> </fieldset> <input type="submit" id="submitButton" value="get nice things"> <select name="nicestuff" id="nicestuff"></select></form><script>var xmlHttp;function populateSelect() { var value; var inputs = document.getElementsByTagName('input');//不可以使用css选择器 var inputs2 = document.querySelectorAll('input[type="radio"]');//可以使用CSS选择器 console.log(inputs); console.log(inputs2); for(var i = 0;i<inputs.length;i++){ if(inputs[i].checked){ value = inputs[i].value; console.log(value); break; } } //准备请求 if(!xmlHttp){ xmlHttp = new XMLHttpRequest(); } var url = "nicething.php?nicething="+value; console.log(url); xmlHttp.open("GET",url,true); xmlHttp.onreadystatechange = getThings; xmlHttp.send(null);}function getThings(){ if(xmlHttp.readyState ==4 && xmlHttp.status==200){ var select = document.getElementById("nicestuff"); select.length = 0; var nicethings = xmlHttp.responseText.split(","); console.log(nicethings); for(var i =0;i<nicethings.length;i++){ select.options[select.length] = new Option(nicethings[i],nicethings[i]); } select.style.display = "block"; }else if(xmlHttp.readyState == 4 && xmlHttp.status != 200){ alert("No items resturned for request"); }}document.getElementById("submitButton").style.display = "none";document.getElementById("nicething").onclick = populateSelect;//populateSelect();</script></body></html>
服务器端程序
<?php if(empty($_REQUEST['nicething'])){ echo "No state send"; }else{ //从传递的搜索字符串的开始和末尾删除空白 $search = trim($_REQUEST['nicething']); //echo "$search"; switch ($search) { case 'cuddles': $result = "puppies,kittens,gerbis"; break; case 'sweets': $result ="licorice,cake,cookies,custard"; break; case 'brid': $result = "robin,mokingbird,finch,dove"; break; case 'flower': $result = "roses,lilys,daffadils,pansies"; break; default: $result = "No Nice Things Found"; break; } echo $result; }?>

下面尝试使用nodejs 写服务器端的程序
var http = require('http');var url = require('url');//启动服务器var server = http.createServer().listen(8080);server.on('request',function(req,res){ var search = url.parse(req.url).query; if(search!=null){ search = search.split("=")[1];//nicething=bird ==> bird }else{ search = "brid"; } var result; switch (search) { case 'cuddles': result = "puppies,kittens,gerbis"; break; case 'sweets': result ="licorice,cake,cookies,custard"; break; case 'brid': result = "robin,mokingbird,finch,dove"; break; case 'flower': result = "roses,lilys,daffadils,pansies"; break; default: result = "No Nice Things Found"; break; } res.writeHeader(200,{ "Content-Type":"application/json", "Access-Control-Allow-Origin":"*",//允许跨域 }); res.end(result); //res.end(str);})
阅读全文
0 0
- 从服务器填充一个列表
- 填充listview列表
- 从数据库获取数据填充下拉列表,然后选中特定项提示不存在的问题。
- 从一个下拉列表往另一个下拉列表添加内容
- QComboBox下拉列表自动填充
- 【Android新手笔记六】从服务器获取列表
- 手机APP从服务器获取列表和详情
- 从服务器返回了一个参照
- Sql Server存储过程从一个表中抓取数据填充到另一张表中
- 从一个图片读数据,由这个数据来填充新建图片文件
- jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
- 热备份脚本(从一个服务器到另一个服务器)
- httpclient从一个服务器传送文件到另一个服务器
- 从一个服务器将文件复制到另外一服务器
- mysql 把数据库从一个服务器复制到另一个服务器
- mysql 数据从一个服务器复制到另一个服务器
- java 程序里如何实现从一个列表中拖动一个元素到另一个列表中?
- js从select列表选项中删除一个Item项
- 处理来自一个Ajax请求的JSON
- POST和GET
- python pip install
- hdu-2553 N皇后(深搜)
- 仿微信移动端的底部导航切换,显示高亮文字和图片
- 从服务器填充一个列表
- BZOJ2893: 征服王
- bugku 成绩单
- 消灭中间商!他们用区块链技术实现流量的点对点交易
- 使用定时器以新数据自动更新页面
- Android Studio设置apk文件名
- Spring Cloud入门1-config配置中心
- 算法学习之模线性同余方程组(中国剩余定理+求解同余方程组) poj1006+hdu3579
- 服务器架构概念扫盲