表单input输入框有默认账号和密码的问题

今天遇到一个问题,就是表单数据中的用户名和密码我没有给默认值但是渲染出来在浏览器显示的时候出现了默认值。
样式:

  <form action="">
    账号:<input type="text" v-model="username"/> 
    密码:<input type="password" v-model="password" autocomplete="new-password"/>
  </form>

数据:

data() {
   return {
     username: '',
     password: '',
   };
 }

页面效果:

后来查阅资料发现是因为浏览器的缓存,以前进入其他页面可以保存了密码和账号,所以在进入此界面后就会把原来的数据进行填充,就是你没有对当前的数据进行赋值,它也会有默认值。
解决办法:
其实解决办法也非常简单,只要在密码的输入框的input标签后加上一个 autocomplete=“new-password” 属性,就能解决此问题!
修改后的代码:

  <form action="">
    账号:<input type="text" v-model="username"/> 
    密码:<input type="password" v-model="password" autocomplete="new-password"/>
  </form>

修改后的页面效果:
在这里插入图片描述
完美!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
下面是一个简单的 Django AJAX 登录表单示例,它在用户提交表单时使用 AJAX 验证密码是否正确,如果密码不正确则在输入框下方显示错误信息。 首先,创建一个 `views.py` 文件来处理登录视图: ```python from django.contrib.auth import authenticate, login from django.http import JsonResponse def login_view(request): if request.method == 'POST': username = request.POST.get('username') password = request.POST.get('password') user = authenticate(request, username=username, password=password) if user is not None: login(request, user) return JsonResponse({'success': True}) else: return JsonResponse({'success': False, 'error': 'Incorrect username or password.'}) ``` 这段代码首先检查请求是否为 POST 请求。如果是,它会从 POST 数据中获取用户名和密码,并使用 Django 的 `authenticate` 函数验证凭据。如果凭据有效,则使用 Django 的 `login` 函数进行登录并返回成功响应。否则,它将返回一个带有错误消息的 JSON 响应。 接下来,创建一个 `urls.py` 文件来定义 URL 路径: ```python from django.urls import path from . import views urlpatterns = [ path('login/', views.login_view, name='login'), ] ``` 这段代码为 `/login/` 路径定义了一个名为 `login_view` 的视图。 现在,创建一个 HTML 模板来渲染登录表单: ```html {% extends 'base.html' %} {% block content %} <form id="login-form"> {% csrf_token %} <div> <label for="username">Username:</label> <input type="text" id="username" name="username"> </div> <div> <label for="password">Password:</label> <input type="password" id="password" name="password"> <span id="error-message" style="color: red;"></span> </div> <button type="submit">Login</button> </form> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $(function() { $('#login-form').submit(function(event) { event.preventDefault(); $.ajax({ url: '{% url "login" %}', type: 'POST', data: $(this).serialize(), success: function(data) { if (data.success) { window.location.href = '/'; } else { $('#error-message').text(data.error); } } }); }); }); </script> {% endblock %} ``` 这段代码首先从 `base.html` 模板继承并定义一个名为 `content` 的块。在块中,它创建一个包含用户名、密码和登录按钮的表单,并为表单添加一个 ID 以便在 JavaScript 中使用。它还定义了一个带有红色字体的空错误消息元素。 接下来,它将 jQuery 库导入页面,并在文档加载后注册一个处理提交表单事件的函数。该函数首先阻止默认表单提交行为,然后使用 jQuery 的 `ajax` 函数向 `/login/` URL 发送 POST 请求,并将表单数据序列化为字符串。如果请求成功,它会检查返回的 JSON 数据中的 `success` 属性是否为 `true`。如果是,则重定向到主页。否则,它将使用 jQuery 的 `text` 函数将错误消息设置为返回的 JSON 数据中的 `error` 属性。 最后,定义一个名为 `base.html` 的基础模板,以便在所有页面中使用相同的 HTML 头和页脚。这里省略了头和页脚的代码。 ```html <!DOCTYPE html> <html> <head> <title>{% block title %}Django AJAX Login{% endblock %}</title> </head> <body> {% block content %}{% endblock %} </body> </html> ``` 这段代码定义了一个名为 `title` 的块,并在 `head` 元素中使用它来设置页面标题。它还在 `body` 元素中定义了一个名为 `content` 的块。 现在就可以在 Django 中使用 AJAX 实现登录表单验证了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值