此处将为大家介绍关于HTML表单只读SELECT标记/输入的详细内容,并且为您解答有关htmlselect只读的相关问题,此外,我们还将为您介绍关于golangBeego框架之HTML表单中的sele
此处将为大家介绍关于HTML表单只读SELECT标记/输入的详细内容,并且为您解答有关html select 只读的相关问题,此外,我们还将为您介绍关于golang Beego框架之HTML表单中的select标签组件的处理、Html Select 使用selected属性设置默认选择项_HTML/Xhtml_网页制作、html select 可输入 可编辑、html select下拉框样式怎么制作?html select样式详解的有用信息。
本文目录一览:- HTML表单只读SELECT标记/输入(html select 只读)
- golang Beego框架之HTML表单中的select标签组件的处理
- Html Select 使用selected属性设置默认选择项_HTML/Xhtml_网页制作
- html select 可输入 可编辑
- html select下拉框样式怎么制作?html select样式详解
HTML表单只读SELECT标记/输入(html select 只读)
根据HTML规范,select
HTML中的标记没有readonly
属性,只有disabled
属性。因此,如果要阻止用户更改下拉菜单,则必须使用disabled
。
唯一的问题是禁用的HTML表单输入不会包含在POST / GET数据中。
模拟标签readonly
属性select
并仍然获取POST数据的最佳方法是什么?
答案1
小编典典您应该保留该select
元素,disabled
但还要添加另一个input
具有相同名称和值的隐藏元素。
如果重新启用SELECT,则应在onchange事件中将其值复制到隐藏输入并禁用(或删除)隐藏输入。
这是一个演示:
$(''#mainform'').submit(function() { $(''#formdata_container'').show(); $(''#formdata'').html($(this).serialize()); return false;});$(''#enableselect'').click(function() { $(''#mainform input[name=animal]'') .attr("disabled", true); $(''#animal-select'') .attr(''disabled'', false) .attr(''name'', ''animal''); $(''#enableselect'').hide(); return false;});#formdata_container { padding: 10px;}<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><div> <form id="mainform"> <select id="animal-select" disabled="true"> <option value="cat" selected>Cat</option> <option value="dog">Dog</option> <option value="hamster">Hamster</option> </select> <input type="hidden" name="animal" value="cat"/> <button id="enableselect">Enable</button> <select name="color"> <option value="blue" selected>Blue</option> <option value="green">Green</option> <option value="red">Red</option> </select> <input type="submit"/> </form></div><div id="formdata_container"> <div>Submitted data:</div> <div id="formdata"> </div></div>
golang Beego框架之HTML表单中的select标签组件的处理
用Beego来进行web开发,对每个页面都可创建一个YourController类型,并匿名包含beego.Controller来达到继承beego.Controller的效果。以YourController为receiver重写beego.Controller的Get,Post等方法。当网页请求为Get/Post,则执行该页面YourController的Get()/Post()方法。
在对应页面的Controller的Get()方法中,往数据Data写入category的实例切片cates:
func(this *YourController)Get() { this.TplNames = "yourPage.html" cates := []*category{ &category{"-1",true,"请选择"},&category{"golang",false,"golang"},&category{"Java","Java"},&category{"C/C++","C/C++"},} this.Data["Cates"] = cates } type category struct { Id string IsSelected bool Value string }
对应的HTML模板中:
<selectname="category" id="category"> {{range .Cates}} <option value={{.Id}} {{if .IsSelected}} select="selected"{{end}}>{{.Value}}</option> {{end}} </select>
HTML中用{{range .Cates}}来遍历golang传来的Data(此处.Cates传来的是Get方法中的Data["Cates"]),而{{.Id}},{{.IsSelected}},{{.Valuse}}分别为golang中的类型category的三个字段。当Method为Get,页面渲染如下截图:
在上图中,点击“提交”按钮,客户端向服务器发送Post请求,让我们看下该页面的Post表单:
我们看到,form表单中,select组件设置id,name为“category”,当用户点击了“提交”,向服务器发送Post请求提交该表单,Beego中该页面Controller的Post()方法可通过this.input().Get("category")来过得select中category的value值,这些值就是被选中option的value值:
func (this *YourController) Post() { this.TplNames = "yourPage.html" this.Ctx.Request.ParseForm() category := this.input().Get("category") fmt.Println("caterogy value:",category) this.Redirect("/category",301) return }
选择golang,点击“提交”,后台输出:
注意,select默认值是最上面的请选择,故再击提交按钮时要通过html页面内javascript函数 check();"来判断select是否做出正确选择,check()为一个hmtl嵌套的js脚本函数:
function check() { if ('-1' == $('#category').val()) {//select的value值为-1 alert("请选择文章创作类型"); $('#category').focus(); return false; } return true; }
Html Select 使用selected属性设置默认选择项_HTML/Xhtml_网页制作
给某个option 添加 selected = "selected" 属性就是默认选项
如:
则“通过”为默认选中。
html select 可输入 可编辑
<HTML> <HEAD> <Meta http-equiv=‘Content-Type‘ content=‘text/html; charset=gb2312‘> <TITLE>js实现可输入的下拉框</TITLE> </HEAD> <BODY> <div style="position:relative;"> <span style="margin-left:100px;width:18px;overflow:hidden;"> <select style="width:118px;margin-left:-100px" onchange="this.parentNode.nextSibling.value=this.value"> <option value="德国">德国</option> <option value="挪威">挪威</option> <option value="瑞士"> 瑞士</option> </select></span><input name="Box" style="width:100px;position:absolute;left:0px;"> </div> </BODY> </HTML>
js实现可输入的下拉框
这样效果更好些:
<select style="width: 118px; margin-left: -100px;" onfocus="onchange();" onchange="this.parentNode.nextSibling.value=this.value">
html select下拉框样式怎么制作?html select样式详解
本篇文章主要的介绍了关于html select标签的下拉框制作,还有html select标签的样式解析,最后还有两个html select标签的案例。接下来让我们一起看看本篇文章吧
首先我们先来看看html select下拉框样式的制作:
原生的select下拉框其实挺方便的,直接把选项写入option就能得到一个流畅的下拉框,但是原生的样式也是让人忧愁。
首先,在各大浏览器中渲染出来的样式结果也是多样化,ie下的样式更是与众不同,会根据选项位置进行滑动。
我们这里是用纯HTML制作,连层叠样式表也不要:
立即学习“前端免费学习笔记(深入)”;
<!doctype html> <html > <head> <meta charset="UTF-8"> <script type="js/index.js"></script> <title>php中文网之下拉列表</title> </head> <body > <form> <p>下拉列表</p> <select> <option>html</option> <option>php</option> <option>python</option> <option>其它</option> <option>html</option> <option>php</option> <option>python</option> <option>其它</option> </select> </form> </body> </html>
这个我点开之后的效果图:
我们已经把HTML select的下拉框已经制作完成了,接下来我们看看HTML select的其它样式思路:
1.先去掉select本身原有的样式。
2.用一个元素(div/lebal等)作为select的父元素。
3.在select父元素后面用:after做一个新的样式。
<body> <br /> <select id="selectTravelCity" title="Select Travel Destination"> <option>php中文网</option> <option>Washington DC</option> <option>Los Angeles</option> <option>Chicago</option> <option>Houston</option> <option>Philadelphia</option> <option>Phoenix</option> </select> <br /> <br /> <label id="lblSelect"> <select id="selectPointOfInterest" title="Select points of interest nearby"> <option>PHP中文网</option> <option>food beverage</option> <option>restaurant</option> <option>shopping</option> <option>taxi limo</option> <option>theatre</option> <option>museum</option> <option>computers</option> </select> </label> </body>
这么多,虽然不是很难,但是还是要多练习的
看了上面的图片,这个的效果图也很容易能想到吧,不过我还是会给效果图的:
HTML select标签的两个案例分析:
案例一:如何让html里的select无法选择?
假设有一个select,里面有几个option,因为测试需要,要固定成为其中的一个option,不能选择其他,该怎么做呢?如果disabled这个select,结果就是根本没法取到值了。有没其他的方法?readonly,也是不可以的,依旧可以选择。
答案:只放一个option就可以了 或者给option加上disabled="disabled"
<form id="form1" name="form1" method="post" action=""> <select name="select"> <option>aa</option> <option disabled="disabled">bb</option> <option>cc</option> </select> </form>
案例二:怎么调整select的宽度?
答案:可以在select标签中加入style样式
<style>.s1{ width: 200px;}</style> <select> <OPTION>很长很长也能显示</OPTION> <OPTION>很长很长也能显示</OPTION> </select>
以上就是这篇文章的全部内容了,有什么疑问欢迎在下方提问。
【小编推荐】
html5 canvas标签是什么意思?canvas标签使用方法介绍
HTML中插入文本ins标签和删除文本del标签如何一起使用?(附实例)
以上就是html select下拉框样式怎么制作?html select样式详解的详细内容,更多请关注php中文网其它相关文章!
关于HTML表单只读SELECT标记/输入和html select 只读的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于golang Beego框架之HTML表单中的select标签组件的处理、Html Select 使用selected属性设置默认选择项_HTML/Xhtml_网页制作、html select 可输入 可编辑、html select下拉框样式怎么制作?html select样式详解的相关知识,请在本站寻找。
本文标签: