学习中,请问想实现input空值时出现页面弹窗应该怎么写

html

<!DOCTYPE html>
<html lang="ja-jp">
{#12创建注册页面#}
{% load static %}
<head>
{#    #15 编写注册页面#}
    <meta charset="UTF-8">
    <title>新規登録</title>
    <link rel="stylesheet" href="{% static 'css/main.css' %}">
    <link rel="stylesheet" href="{% static 'css/reset.css' %}">
    <script src="{% static 'js/vue-2.5.16.js' %}"></script>

</head>
<body>
<script>
    function check() {
       if (form1.username.value == "") {
            alert("ユーザIDを入力してください。");
            form1.username.focus();
                return;
       }
       else if (form1.password.value == "") {
            alert("パスワードを入力してください。");
            form1.password.focus();
            return;
       }else {
            form1.submit();
       }
    }
</script>
<div class="register_con">
    {#    左边内容#}
    <div class="l_con fl">
        <a href="{% url 'index' %}">
            <img src="{% static 'img/mark.png' %}">
        </a>
        <div class="reg_slogan">WELCOME</div>
    </div>
    {#    右边布局#}
    <div class="r_con fr">
        {#        第一行的内容#}
        <div class="reg_title clearfix">
            <h1>新規登録</h1>
            <a href="{% url 'login' %}">ログイン</a>
        </div>
        {#        表单的内容#}
        <div id="app" class="reg_form clearfix">
            <form method="post" @submit="on_submit">
                {#                csrf验证漏洞,固定格式#}
                {% csrf_token %}
                <ul>
                    <li>
                        {#                        用户名#}
                        <label>会員ID</label>
                        <input type="text" name="username" id="username"
                               v-model="username" @blur="check_username">
                        <span class="error_tip" v-show="error_username">
                            [[error_username_message]]</span>
                    </li>
                    {#                    密码#}
                    <li>
                        <label>パスワード</label>
                        <input type="password" name="password" id="password"
                               v-model="password" @blur="check_password">
                        <span class="error_tip" v-show="error_password">
                            [[error_password_message]]</span>
                    </li>
                    {#                    确认密码#}
                    <li>
                        <label>チャック</label>
                        <input type="password"
                               v-model="confirm_password" @blur="confirm_check_password">
                        <span class="error_tip" v-show="error_confirm_password">
                            [[error_confirm_password_message]]</span>
                    </li>
                    {#                    手机号#}
                    <li>
                        <label>電話番号</label>
                        <input type="text" name="phone" v-model="phone"
                               @blur="check_phone">
                        <span class="error_tip" v-show="error_phone">
                            [[error_phone_message]]</span>
                    </li>
                    {#                    协议#}
                    <li class="agreement">
                        <input type="checkbox" name="allow" checked
                               v-model="allow" @blur="check_allow">
                        <label>規約に同意する</label>
                        <span class="error_tip" v-show="error_allow">
                            [[error_allow_message]]
                        </span>
                    </li>
                    <li class="reg_sub">
                        <input type="submit" value="登録">
                    </li>
                </ul>
            </form>
        </div>
    </div>
</div>

<div class="footer no-mp">
    <div class="foot_link">
        <a href="">サービス</a>
        <span>|</span>
        <a href="">プライバシー</a>
        <span>|</span>
        <a href="">ヘルプ・お問い合わせ</a>
    </div>
    <p>Nintendo,Inc. All Rights Reserved.</p>
</div>

</body>
<script src="{% static 'js/register.js' %}"></script>
</html>

 

js

new Vue ({
    el: '#app',
    // vue显示数据的语法和django显示数据语法都是{{}},避免冲突,修改成[[]]
    delimiters: ['[[', ']]'],
    data: {
        username: '',//v-model数据双向绑定
        error_username: false,
        error_username_message: '',

        password: '',
        error_password: false,
        error_password_message: '',

        confirm_password: '',
        error_confirm_password: false,
        error_confirm_password_message: '',

        phone: '',
        error_phone: false,
        error_phone_message: '',

        allow: 'true',
        error_allow: false,
        error_allow_message: ''
    },
    methods: {
        //失去焦点的方法
        check_username: function () {
            var re = /^\w{5,12}$/
            //this vue对象访问data字段中的数据
            if (re.test(this.username)) {
                //满足不显示错误信息
                this.error_username = false
            } else {
                this.error_username = true
                this.error_username_message = '会員IDは5-12文字以上'
            }
        },
        check_password: function () {
            var re = /^\w{5,12}$/
            //this vue对象访问data字段中的数据
            if (re.test(this.password)) {
                //满足不显示错误信息
                this.error_password = false
            } else {
                this.error_password = true
                this.error_password_message = 'パスワードは5-12文字以上'
            }
        },
        //判断密码框和确认密码框是否一致
        confirm_check_password: function () {
            if (this.password != this.confirm_password){
                //不相同
                this.error_confirm_password = true
                this.error_confirm_password_message='パスワードが不適切です'
            }else {
                //是相同,不显示错误信息
                this.error_confirm_password = false
            }
        },
        check_phone: function () {
            // 090 080 开头
            var re = /^0[89]0\d{8}$/
            if (re.test(this.phone)){
                this.error_phone = false
            }else {
                this.error_phone = true
                this.error_phone_message='フォーマットが不適切です'
            }
        },
        check_allow: function () {
            if (this.allow){
                //用户勾选协议
                this.error_allow = false
            }else {
                this.error_allow = true
                this.error_allow_message = '規約に同意する'
            }
        },
        on_submit: function () {
            //不满足其中一项 或运算
            if (this.error_username == true || this.error_password||
                this.error_allow ==true|| this.error_confirm_password ==true
                ||this.error_phone == true){
                //禁止提交
                window.event.returnValue = false
            }
        }
    }
})

JavaScrip里面的控制判断是""还是none所以

JavaScript获取input给它赋值

let input=.....'#input'

if (input===''||input===none){

//此处写弹窗内容

}

先看你是要在什么情况下触发,例如是在键盘弹起时

判断:

var inputText = document.getElementById("text");
        inputText.onkeyup = function () {
            if (inputText.value === "") {
                alert("none");
            }
        }