整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

第9天 - 14天搞定Vue3.0,表单输入

第9天 - 14天搞定Vue3.0,表单输入

Vue3.0中,事件处理用v-on指令,表单输入绑定则用v-model指令。v-model指令在表单<input>、<textarea> 及 <select> 元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。

9.1 文本输入

在HTML标签中,文本输入有单行(text)和多行(textarea)输入。温馨提醒:v-model 会忽略所有表单元素的value的初始值而总是将当前活动实例的数据作为数据来源。你应该通过 JavaScript 该组件的 data 选项中声明初始值。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Vue3.0表单绑定</title>
    <script src="vue.global.js"></script>
</head>
<body>
<div id="app">
    <input v-model="msg" placeholder="单行输入"/>
    <p>单行输入结果: {{ msg }}</p>
    <hr style="background-color: #4CAF50;height: 1px"/>
    <textarea v-model="msg2" placeholder="多行输入"></textarea>
    <p>多行输入结果: {{ msg2 }}</p>
</div>
<script>
    Vue.createApp({
        data() {
            return {
                msg: '',
                msg2: ''
            }
        }
    }).mount("#app")
</script>
</body>
</html>

输出结果

9.2 单选和多选

在开发产品时,单选按钮,用于多选一,在选择性别时常见;单个复选框常在勾选协议中见到;在多个已知选项中,多选一时,可用select。

多个复选框,常在选择个人兴趣爱好等见到。复选框,单选时,绑定到布尔值,多选时,绑定到同一个数组。如果要选择项很多,那可用多选下拉菜单,以节约布局空间。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Vue3.0表单绑定</title>
    <script src="vue.global.js"></script>
</head>
<body>
<div id="app">
    快来,选择你喜欢的编程语言
    <div>
        <input type="checkbox" id="Python" value="Python" v-model="likes"/>
        <label for="Python">Python</label>
        <input type="checkbox" id="Java" value="Java" v-model="likes"/>
        <label for="Java">John</label>
        <input type="checkbox" id="web" value="前端" v-model="likes"/>
        <label for="web">前端</label>
        <br/>
        <span>你选择的语言: {{ likes.length > 0 ? likes : '' }}</span>
    </div>
    <div>
        <input type="radio" id="boy" value="程序猿" v-model="gender"/>
        <label for="boy">程序猿</label>
        <br/>
        <input type="radio" id="girl" value="程序媛" v-model="gender"/>
        <label for="girl">程序媛</label>
        <br/>
        <input type="radio" id="no" value="不男不女" v-model="gender"/>
        <label for="no">不男不女</label>
        <br/>
        <span>你是: {{ gender }}</span>
    </div>
    <div>
        <select v-model="selected">
            <option disabled value="">你爱帅哥还是美女</option>
            <option>帅哥</option>
            <option>美女</option>
        </select>
        <br/>
        <span>你爱: {{ selected }}</span>
    </div>
    <div> 你确定就勾选:<input type="checkbox" id="checkbox" v-model="agree"/>
      </div>
    <br/>
    <div>
        <button @keyup.enter="submit" type="submit" @click="submit">
          提交</button>
    </div>
</div>
<script>
    Vue.createApp({
        data() {
            return {
                likes: [],
                gender: '',
                selected: '',
                agree: false
            }
        },
        methods: {
            submit() {
                if (this.likes.length==0) {
                    alert('你没有选择喜欢的编程语言.')
                } else if (this.gender=='') {
                    alert('性别选择一下,又会怎么样呢?')
                } else if (this.selected=='') {
                    alert('没有选择你所爱的.')
                } else if (this.agree==false) {
                    alert('勾选协议,才可以提交.')
                } else {
                    alert('恭喜你,数据提交成功!')
                }
            }
        }
    }).mount("#app")
</script>
</body>
</html>

输出结果


好了,有关Vue3.0表单输入的内容,老陈讲完了,如果觉得对你有所帮助,希望老铁能转发点赞,让更多的人看到这篇文章。你的转发和点赞,就是对老陈继续创作和分享最大的鼓励。

一个当了10年技术总监的老家伙,分享多年的编程经验。想学编程的朋友,可关注:老陈说编程。我在分享Python,前端、Java和App方面的干货。关注我,没错的。

#前端##Vue.js##JavaScript##程序员##Web#

、封装获取元素的方法

封装思想——函数封装——代码复用

 function get_id(id){
     // 这个函数是专门来通过id获取元素
     return document.getElementById(id)
 }
 
 function get_els(parentId, tagName){
     // 这个函数是专门来获取某个父标签范围内的某些标签
     return get_id(parentId).getElementsByTagName(tagName)
 }

二、表单元素属性

常用的表单元素包括 input、select、textarea、button等,下面我们学习这些表单元素中常用的属性。

  • value 用于获取和设置表单元素的内容
  • type 用于获取和设置input标签的类型
  • checked 复选框选中属性(true表示选中, false表示不选中)
  • disabled 用于禁用表单输入或选择操作

需求:点击按钮修改input的类型和内容

html和css代码

 <input type="button" value="按钮" id="btn">

JavaScript代码

单标签

网页(程序)如果要和用户产生互动,则必须借助一定的中介,这个中介一般是:文本输入框、按钮、多选框、单选框。而表单则是这些中介和放置这些中介的空间(<form action=”” methon=””></form>)。

在网页中,这些文本输入框、按钮等等必须放置在由<form></form>这个标签所定义的空间中,否则没有实际意义。所以,由<form></form>标签所定义的空间就是表单存在的空间。


【各种输入类型】

  1. 文字输入框:每个表单之所以会有不同的类型,原因就在于type="表单类型"设定的不同而已,我们就先来看看第一个类型:文字输入列。文字输入列的形态就是type="text,其使用方法如下:

呈现结果

姓名:

原始码

<form action=http://www.baidu.com/nameproject.aspmethon=”post”>

姓名:<input type="text" name="name" size="20">

</form>

它有下列可设定之属性:

  • name="名称",是设定此一栏位的名称,程式中常会用到。
  • size="数值",是设定此一栏位显现的宽度。
  • value="预设内容",是设定此一栏位的预设内容。
  • align="对齐方式",是设定此一栏位的对齐方式,其值有:top(向上对齐)、middle(向中对齐)、bottom(向下对齐)、right(向右对齐)、left(向左对齐)、texttop(向文字顶部对齐)、baseline(向文字底部对齐)、absmiddle(绝对置中)、absbottom(绝对置下)等。
  • maxlength="数值",是设定此一栏位可设定输入的最大长度。


  1. 单选框:利用type="radio"就会产生单选核取表单,单选核取表单通常是好几个选项一起摆出来供使用者点选,一次只能从中选一个,故为单选核取表单。

呈现结果

性别:男 女

原始码

<form>

性别:

男 <input type="radio" name="sex" value="boy">

女 <input type="radio" name="sex" value="girl">

</form>

它有下列可设定之属性:

  • name="名称",是设定此一栏位的名称,程式中常会用到。
  • value="内容",是设定此一栏位的内容、值或是意义。
  • align="对齐方式",是设定此一栏位的对齐方式,其值有:top(向上对齐)、middle(向中对齐)、bottom(向下对齐)、right(向右对齐)、left(向左对齐)、texttop(向文字顶部对齐)、baseline(向文字底部对齐)、absmiddle(绝对置中)、absbottom(绝对置下)等。
  • checked,是设定此一栏位为预设选取值。


  1. 复选框:利用type=" checkbox "就会产生复选核取表单,复选核取表单通常是好几个选项一起摆出来供使用者点选,一次可以同时选好几个,故为复选核取表单。

呈现结果

喜好: 电影 看书

原始码

<form>

喜好:

<input type="checkbox" name="sex" value="movie">电影

<input type="checkbox" name="sex" value="book">看书

</form>

它有下列可设定之属性:

  • name="名称",是设定此一栏位的名称,程式中常会用到。
  • value="内容",是设定此一栏位的内容、值或是意义。
  • align="对齐方式",是设定此一栏位的对齐方式,其值有:top(向上对齐)、middle(向中对齐)、bottom(向下对齐)、right(向右对齐)、left(向左对齐)、texttop(向文字顶部对齐)、baseline(向文字底部对齐)、absmiddle(绝对置中)、absbottom(绝对置下)等。
  • checked,是设定此一栏位为预设选取值。


  1. 密码表单:利用type=" password "就会产生一个密码表单,密码表单和文字输入表单长得几乎一样,差别就在于密码表单在输入时全部会以星号来取代输入的文字,以防他人偷窥。

呈现结果

请输入密码:

原始码

<form>

请输入密码:<input type="password" name="input">

</form>

它有下列可设定之属性:

  • name="名称",是设定此一栏位的名称,程式中常会用到。
  • size="数值",是设定此一栏位显现的宽度。
  • value="预设内容",是设定此一栏位的预设内容,不过呈现出来仍是星号。
  • align="对齐方式",是设定此一栏位的对齐方式,其值有:top(向上对齐)、middle(向中对齐)、bottom(向下对齐)、right(向右对齐)、left(向左对齐)、texttop(向文字顶部对齐)、baseline(向文字底部对齐)、absmiddle(绝对置中)、absbottom(绝对置下)等。
  • maxlength="数值",是设定此一栏位可设定输入的最大长度。


  1. 送出按钮:通常我们表单填完之后,都会有一个送出按钮以及清除重写的按钮,分别是利用type=" submit "及type=" reset "来产生,相当的简单易用。

呈现结果

原始码

<form>

<input type="submit" value="送出资料">

<input type="reset" value="重新填写">

</form>

它有下列可设定之属性:

  • name="名称",是设定此一按钮的名称。
  • value="文字",是设定此一按钮上要呈现的文字,若是没有设定,浏览器也会自动替您加上“送出查询”、“重设”等字样。
  • align="对齐方式",是设定此一栏位的对齐方式,其值有:top(向上对齐)、middle(向中对齐)、bottom(向下对齐)、right(向右对齐)、left(向左对齐)、texttop(向文字顶部对齐)、baseline(向文字底部对齐)、absmiddle(绝对置中)、absbottom(绝对置下)等。


  1. 按钮元件:表单中或是java script常会用到按钮来作一些效果,因此,我们可以利用type=" button "来产生一个按钮,相当简单。

呈现结果

请按下按钮:

原始码

<form>

请按下按钮:<input type="button" name="ok" value="我同意">

</form>

它有下列可设定之属性:

  • name="名称",是设定此一按钮的名称。
  • value="文字",是设定此一按钮上要呈现的文字。
  • align="对齐方式",是设定此一栏位的对齐方式,其值有:top(向上对齐)、middle(向中对齐)、bottom(向下对齐)、right(向右对齐)、left(向左对齐)、texttop(向文字顶部对齐)、baseline(向文字底部对齐)、absmiddle(绝对置中)、absbottom(绝对置下)等。


  1. 隐藏栏位:表单中有时有些东西因为某些因素,不想让使用者看到,但因程式需要却又不得不存在,此时,我们就可以利用type=" hidden "来产生一个隐藏的栏位。

呈现结果

隐藏栏位:

原始码

<form>

隐藏栏位:<input type="hidden" name="nosee" value="看不到">

</form>

它有下列可设定之属性:

  • name="名称",是设定此一栏位的名称。
  • value="文字",是设定此一栏位的值、文字或意义。

【大量文字输入元件】

  1. 有时候我们会希望让使用者输入比较大量的文字,此时,文字输入列就显得不敷使用,因此我们就可以利用<textarea></textarea>来产生一个可以输入大量文字的元件,夹在两个标签中的文字会出现在框框中,可作为预设文字。

呈现结果

请输入您的意见:

原始码

<form>

请输入您的意见:<br>

<textarea name="talk" cols="20" rows="3"></textarea>

</form>

它有下列可设定之属性:

  • name="名称",是设定此一栏位的名称。
  • wrap="设定值",是设定此一栏位的换行模式。设定值有三种:off(输入文字不会自动换行)、virtual(输入文字在萤幕上会自动换行,不过若是使用者没有自行按下enter换行,送出资料时,也视为没有换行)、physical(输入文字会自动换行,送出资料时,会将萤幕上的自动换行,视为换行效果送出)。
  • cols="数值",是设定此一栏位的行数(横向字数)。
  • rows="数值",是设定此一栏位的列数(垂直字数)。


【下拉式选单】

  1. 下拉式选单令整个网页看起来有很专业的感觉,我们只要利用<select name="名称">便可以产生一个下拉式选单,另外,还需要配合<option>标签来产生选项,这样才算完整喔!

呈现结果

您喜欢看书吗?:

非常喜欢

还算喜欢

不太喜欢

非常讨厌

原始码

<form>

您喜欢看书吗?:

<select name="like">

<option value="非常喜欢">非常喜欢

<option value="还算喜欢">还算喜欢

<option value="不太喜欢">不太喜欢

<option value="非常讨厌">非常讨厌

</select>

</form>

它有下列可设定之属性:

  1. size="数值",是设定此一栏位的大小,预设值为1,若是您的选项有四个,然后您将size设成4,那么,下拉式选单便会变成选项方块,将四个选项一起呈现在方块中。

multiple,是设定此一栏位为复选,可以一次选好几个选项。

....................................................................

我的微信公众号:UI严选 —越努力,越幸运