form表单提交时自动清空表单内容

form表单提交时自动清空表单内容

<form>
    <div class="input-div">
        <label for="username">用户名</label>
        <input type="text" id="username" name="username">
    </div>
    <div class="input-div">
        <label for="password">密码</label>
        <input type="password" id="password" name="password">
    </div>
    <div class="input-div">
        <label for="okpassword">确认密码</label>
        <input type="password" id="okpassword" name="okpassword">
    </div>
    <div class="input-div">
        <label for="address">所在地</label>
        <input type="text" id="address" name="address">
    </div>
    <div class="input-div">
        <label for="tel">电话</label>
        <input type="text" id="tel" name="tel">
        <button style="position: relative;" onclick="sendCode()">发送</button>
    </div>

    <div class="input-div">
        <label for="code">验证码</label>
        <input type="text" id="code" name="code" >

    </div>

        <button onclick="register()">注册</button>

</form>

这一部分

<div class="input-div">
    <label for="tel">电话</label>
    <input type="text" id="tel" name="tel">
    <button style="position: relative;" onclick="sendCode()">发送</button>
</div>

此时只要点击提交按钮就会发现表单数据会被直接清空,这是因为form中的button默认为submit,默认会被解读为提交表单,而我这里只是想发个验证码。

解决方案

  1. 把button标签换成a标签,这样就可以了;

  2. 是由于form表单中,button的type属性默认是submit,当type的值是submit时,点击button就会自动刷新。手动设置type字段的值就解决了,即type=“button”.(推荐)

<div class="input-div">
    <label for="tel">电话</label>
    <input type="text" id="tel" name="tel">
    <button type="button" style="position: relative;" onclick="sendCode()">发送</button>
</div>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基本的 Vue 表输入验证代码示例: 模板: ``` <template> <div> <label for="name">Name:</label> <input type="text" id="name" v-model="name" /> <div v-if="nameError" class="error">{{ nameError }}</div> <label for="email">Email:</label> <input type="email" id="email" v-model="email" /> <div v-if="emailError" class="error">{{ emailError }}</div> <button @click="submitForm">Submit</button> </div> </template> ``` 脚本: ``` <script> export default { data() { return { name: "", email: "", nameError: "", emailError: "" }; }, methods: { submitForm() { this.nameError = ""; this.emailError = ""; if (!this.name) { this.nameError = "Please enter your name."; } if (!this.email) { this.emailError = "Please enter your email."; } else if (!this.validEmail(this.email)) { this.emailError = "Please enter a valid email."; } if (!this.nameError && !this.emailError) { // Form is valid, submit it console.log("Submit form with name:", this.name, "and email:", this.email); } }, validEmail(email) { // Check if email is valid // Regex source: https://emailregex.com/ const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; return regex.test(email); } } }; </script> ``` 样式: ``` <style> .error { color: red; } </style> ``` 在上面的示例中,我们有一个包含姓名和电子邮件输入的表,并且在提交之前对用户输入进行验证。我们使用 `v-model` 指令来绑定表输入值到 Vue 实例中的 `name` 和 `email` 数据属性。我们还定义了 `nameError` 和 `emailError` 数据属性来保存任何验证错误消息。 在 `submitForm` 方法中,我们首先清除任何现有的错误消息。然后,我们验证姓名和电子邮件输入是否为空,并对电子邮件进行基本的格式验证。最后,如果表验证通过,我们可以提交。 在 `validEmail` 方法中,我们使用正则表达式来验证电子邮件地址的格式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值