GVKun编程网logo

HTML表单只读SELECT标记/输入(html select 只读)

15

此处将为大家介绍关于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 只读)

HTML表单只读SELECT标记/输入(html select 只读)

根据HTML规范,selectHTML中的标记没有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标签组件的处理

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,页面渲染如下截图:

wKiom1L42gvhIkOTAACGMPlNuOM236.jpg


在上图中,点击“提交”按钮,客户端向服务器发送Post请求,让我们看下该页面的Post表单:

wKiom1L429zwn2LyAAKL5RMPCn8587.jpg

我们看到,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,点击“提交”,后台输出:

wKioL1L43iLTJuOOAACtbjMrad4237.jpg


注意,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_网页制作

Html Select 使用selected属性设置默认选择项_HTML/Xhtml_网页制作

给某个option 添加 selected = "selected" 属性就是默认选项

如:

复制代码
代码如下:



则“通过”为默认选中。

html select 可输入 可编辑

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标签的样式解析,最后还有两个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>
登录后复制

这个我点开之后的效果图:

tuyi.png

我们已经把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>
登录后复制

这么多,虽然不是很难,但是还是要多练习的

看了上面的图片,这个的效果图也很容易能想到吧,不过我还是会给效果图的:

tuer.png

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样式详解的相关知识,请在本站寻找。

本文标签:

上一篇在新标签页中打开Web Selenium + Python(在新标签页中打开链接)

下一篇Spring boot webService使用方法解析(springboot+webservice)