<template> <div class="login"> <div class="loginBox"> <h3>用户登录</h3> <span class="deadline"></span> <div class="form"> <div class="input"> <img src="../../assets/login/username.png" alt="" /> <input type="text" placeholder="请输入用户名" v-model="username" /> </div> <div class="input"> <img src="../../assets/login/password.png" alt="" /> <input type="password" placeholder="请输入密码" v-model="password" /> </div>
以下是优化后的代码: ```html <template> <div class="login"> <div class="loginBox"> <h3>用户登录</h3> <span class="deadline"></span> <div class="form"> <div class="input"> <img src="../../assets/login/username.png" alt="" /> <input type="text" placeholder="请输入用户名" v-model="username" @input="checkInput" /> <span v-if="!username" class="input-error">用户名不能为空</span> </div> <div class="input"> <img src="../../assets/login/password.png" alt="" /> <input type="password" placeholder="请输入密码" v-model="password" @input="checkInput" /> <span v-if="!password" class="input-error">密码不能为空</span> </div> <!-- 登录按钮 --> <div class="btn" @click="setFlag" :disabled="!username ||!password">登录</div> </div> </div> <div class="loginbg1"></div> <div class="loginbg2"></div> </div> </template> <script setup> //导入 import Header from "./Header.vue"; import { useRouter, useRoute } from "vue-router"; const $router = useRouter(); let username = ""; let password = ""; const checkInput = () => { // 检查输入是否为空 if (!username ||!password) { $router.replace("/"); } }; const setFlag = () => { localStorage.setItem("isLogin", 1); $router.replace("/"); }; </script> <style> .login { /* background-image: url(../../assets/login/bg.png); */ background: linear-gradient(to right,#ADD8E6 70%,#ffd7fb); background-repeat: no-repeat; width: 100%; height: 100%; background-size: cover; } .loginbg1 { position: absolute; left: 0rem; top: 5rem; width: 30rem; height: 50rem; background-image: url(../../assets/login/decoration1.png); background-repeat: no-repeat; background-size: cover; z-index: 1; } .loginbg2 { position: absolute; right: 0rem; top: 25rem; width: 30rem; height: 50rem; background-image: url(../../assets/login/decoration2.png); background-repeat: no-repeat; z-index: 1; } .loginBox { width: 62rem; height: 50rem; background-image: url(../../assets/login/loginbox.png); background-repeat: no-repeat; background-size: 100% 100%; position: absolute; top: 50%; left: 50%; margin-top: -25rem; margin-left: -31rem; z-index: 2; display: flex; flex-direction: column; align-items: center; } .loginBox h3 { font-size: 3rem; font-weight: 600; color: rgb(62, 197, 231); margin-top: 7rem; text-align: center; } .deadline { display: block; width: 10rem; height: 0.5rem; background: #01cfff; border-radius: 0.5rem; margin-top: 1rem; } .form { width: 44.5rem; height: 44.5rem; display: flex; flex-direction: column; align-items: center; justify-content: space-around; } .input { width: 28rem; height: 5rem; line-height: 5rem; border-radius: 5px; background-image: url(../../assets/login/input.png); display: flex; flex-direction: row; align-items: center; } .input img { margin-left: 3rem; } .form input { border: none; outline: none; background-color: transparent; border: none; color: aliceblue; } ::-webkit-input-placeholder { color: rgb(51, 189, 239); } .input input { width: 18rem; height: 2.2rem; margin-left: 2rem; font-size: 2.4rem; } .input.code { width: 23rem; height: 4.3rem; line-height: 1.1rem; } .btn { width: 16rem; height: 5.6rem; line-height: 5.6rem; text-align: center; font-size: 2.5rem; color: rgb(250, 250, 250); background-image: url(/src/assets/login/login.png); cursor: pointer; margin-bottom: 5rem; } .input-error { color: red; font-size: 1.4rem; } </style> 额外需要注意的逻辑点: 1. 检查输入为空的逻辑需要根据实际需求进行更细致的处理,例如限制输入的最小长度等。 2. 提示信息的样式可以根据整体界面风格进行进一步优化。 3. 登录按钮的禁用状态切换要确保与输入框的状态实时同步,避免出现错误。 ``` [2025-03-18 21:31:12 | AI写代码神器 | 1402点数解答]
- [字节豆包] <template> <div class="login"> <div class="loginBox"> <h3>用户登录</h3> <span class="deadline"></span> <div class="form"> <div class="input"> <img src="../../assets/login/username.png" alt="" /> <input type="text" placeholder="请输入用户名" v-model="username" /> </div> <div class="input"> <img src="../../assets/login/password.png" alt="" /> <input type="password" placeholder="请输入密码" v-model="password" /> </div>(1402点数解答 | 2025-03-18 21:31:12)188
- [字节豆包] 下面我有一段代码: <!-- 页面部分 --> <template> <el-form :model="form" label-width="80px" label-position="left"> <el-form-item> <!-- v-model非常重要,表示绑定,数据部分的值 --> 用户名:<el-input v-model="form.name" /> </el-form-item> <el-form-item> 密码: <el-input type="password" v-model="form.pass" /> </el-form-item> <el-form-item> <el-button type="primary">提交</el-button> <el-button>重置</el-button> </el-form-item> </el-form> </template> <!-- 脚本语言,js部分(497点数解答 | 2025-03-07 08:48:04)278
- [字节豆包] 下面我有一段代码: <!-- 页面部分 --> <template> <el-form :model="form" label-width="80px" label-position="left"> <el-form-item> <!-- v-model非常重要,表示绑定,数据部分的值 --> 用户名:<el-input v-model="form.name" /> </el-form-item> <el-form-item> 密码: <el-input type="password" v-model="form.pass" /> </el-form-item> <el-form-item> <el-button type="primary">提交</el-button> <el-button>重置</el-button> </el-form-item> </el-form> </template> <!-- 脚本语言,js部分(328点数解答 | 2025-03-11 10:09:35)223
- [字节豆包] def fill_and_submit_form(row): print("填充表单并提交...") wait = webdriverwait(driver, 5) # 增加等待时间 try: product_name_input = wait.until(ec.presence_of_element_located((by.xpath, '//*[@id="wcontentpanel"]/div[3]/div/div[2]/form/div[1]/div[3]/div/div/div[1]/input'))) product_category_dropdown = wait.until(ec.element_to_be_clickable((by.xpath, '//*[@id="wcontentpanel"]/div[3]/div/div[2]/form/div[1]/div[4]/div/div/div/span/span/div/div[1]'))) time.sleep(2) # 等待完成(361点数解答 | 2024-11-11 21:56:42)313
- [字节豆包] App.vue <template> <div style="padding: 100px 0 0 0"> <div id="header" class="header-v1" style="height: 100px;background-color:rgb(0 137 255 / 70%)"> <div class="header"> <div class="container" style="width: 1500px;height: 100px"> <div id="header-logo" class="right"> <div class="header-logo"><a href="#" id="logo"><img id="logo-default" src="" alt=""/><img style="display:none" id="logo-alternate" src="" alt=""/> </a></div> </div>(31点数解答 | 2025-05-14 09:58:18)234
- <template> <div> <div> <el-input style="width: 200px" placeholder="查询手机号" v-model="phone"></el-input> <el-input style="width: 200px; margin: 0 5px" placeholder="查询姓名" v-model="name"></el-input> <el-button type="primary" @click="load(1)">查询</el-button> <el-button type="info">重置</el-button> </div> <div style="margin: 10px 0"> <el-button type="primary" >新增</el-button> <el-button type="danger">批量删除</el-button> </div> <el-table :data="tableda(400点数解答 | 2023-12-19 15:20:50)409
- [字节豆包] <!doctype html> <html lang="zh"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="css/mian.css"> <link rel="stylesheet" href="css/index.css"> <script src="js/jquery-3.3.1.min.js"></script> <script src="js/jquery-ui.min.js"></script> <script type="text/javascript"> // (1)创建js函数,使用jquery动画,实现ready事件 $(document). ____(1)____ (function(){ //ready事件 $('li').each(function(index){ //遍历对象 $(this).hover(function(){ //单击触发事件 $('li').animate({ width:100 },500); //删除当前元素的样式 $('li').eq(index).animate({ width:200 },500); }); }); }); </script> <title>首页</title> </head> <body> <header> <div class="logo"> <img src="img/logo.jpg" width="250" height="60"> </div> <form class="searchform"> <input type="text" name="search" id="search"/> <input type="submit" value="搜索" id="button"/> </form> <div class="navigation"> <a href="#">手机</a> | <a(475点数解答 | 2024-12-19 14:58:05)339
- [字节豆包] <!doctype html> <html lang="zh"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="css/mian.css"> <link rel="stylesheet" href="css/index.css"> <script src="js/jquery-3.3.1.min.js"></script> <script src="js/jquery-ui.min.js"></script> <script type="text/javascript"> // (1)创建js函数,使用jquery动画,实现ready事件 $(document). ____(1)____ (function(){ //ready事件 $('li').each(function(index){ //遍历对象 $(this).hover(function(){ //单击触发事件 $('li').animate({ width:100 },500); //删除当前元素的样式 $('li').eq(index).animate({ width:200 },500); }); }); }); </script> <title>首页</title> </head> <body> <header> <div class="logo"> <img src="img/logo.jpg" width="250" height="60"> </div> <form class="searchform"> <input type="text" name="search" id="search"/> <input type="submit" value="搜索" id="button"/> </form> <div class="navigation"> <a href="#">手机</a> | <a(495点数解答 | 2024-12-19 14:58:06)290
- [讯飞星火] <!doctype html> <html lang="zh"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="css/mian.css"> <link rel="stylesheet" href="css/index.css"> <script src="js/jquery-3.3.1.min.js"></script> <script src="js/jquery-ui.min.js"></script> <script type="text/javascript"> // (1)创建js函数,使用jquery动画,实现ready事件 $(document). ____(1)____ (function(){ //ready事件 $('li').each(function(index){ //遍历对象 $(this).hover(function(){ //单击触发事件 $('li').animate({ width:100 },500); //删除当前元素的样式 $('li').eq(index).animate({ width:200 },500); }); }); }); </script> <title>首页</title> </head> <body> <header> <div class="logo"> <img src="img/logo.jpg" width="250" height="60"> </div> <form class="searchform"> <input type="text" name="search" id="search"/> <input type="submit" value="搜索" id="button"/> </form> <div class="navigation"> <a href="#">手机</a> | <a(497点数解答 | 2024-12-19 14:58:18)295
- [讯飞星火] <!doctype html> <html lang="zh"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="css/mian.css"> <link rel="stylesheet" href="css/index.css"> <script src="js/jquery-3.3.1.min.js"></script> <script src="js/jquery-ui.min.js"></script> <script type="text/javascript"> // (1)创建js函数,使用jquery动画,实现ready事件 $(document). ____(1)____ (function(){ //ready事件 $('li').each(function(index){ //遍历对象 $(this).hover(function(){ //单击触发事件 $('li').animate({ width:100 },500); //删除当前元素的样式 $('li').eq(index).animate({ width:200 },500); }); }); }); </script> <title>首页</title> </head> <body> <header> <div class="logo"> <img src="img/logo.jpg" width="250" height="60"> </div> <form class="searchform"> <input type="text" name="search" id="search"/> <input type="submit" value="搜索" id="button"/> </form> <div class="navigation"> <a href="#">手机</a> | <a(497点数解答 | 2024-12-19 14:58:20)311
- [阿里通义] const username =pm.environment.get("username"); const password =pm.environment.get("password"); const url=`http://1.92.154.61:8800/app/common/login` const login={ url:url, method:'post', headers:{ "content-type":"application/json;charset=utf-8" }, body:{ mode:"urlencoded", urlencoded:[ {key:"username",value:"${username}"}, {key:"password",value:"${password}"} ] } } pm.sendrequest(login, function (err, response) {(419点数解答 | 2024-10-29 19:35:25)240
- [GPT] const username =pm.environment.get("username"); const password =pm.environment.get("password"); const url=`http://1.92.154.61:8800/app/common/login` const login={ url:url, method:'post', headers:{ "content-type":"application/json;charset=utf-8" }, body:{ mode:"urlencoded", urlencoded:[ {key:"username",value:"${username}"}, {key:"password",value:"${password}"} ] } } pm.sendrequest(login, function (err, response) {(68点数解答 | 2024-10-29 19:35:54)252