JavaScript中回显的数据不需要id,但更新操作需要使用id的解决方法;解决更改完数据之后,点击提交之后也没有报错信息; > 但是数据库中并没有更改

更新操作无异常信息,但是数据库中的数据没有更改

原因:

JavaScript中回显的数据不需要id,但更新操作需要使用id但是你没有传入

问题描述:

更新信息(带有回显功能)的时候
点击修改按钮之后–>页面回显效果一切正常;
更改完数据之后,点击提交之后也没有报错信息;
但是数据库中并没有更改

在之前写项目联系的时候遇到过这样的问题:
在这里插入图片描述

点击修改按钮之后–>页面回显效果一切正常

更改完数据之后,点击提交之后也没有报错信息;但是数据库中并没有更改。
在这里插入图片描述

解决方案

解决这个问题的方法大体分为两种:

  1. 让id的这个<input >标签可见,但不让修改就行了;
  2. 就是给 <input > 标签设置不可见;

有一下三个属性可供选择:

<input type=“hidden” /> 规定:input为隐藏域度,在页知面上不可道见。
无任何效果
<input type=“text” disabled=“disabled” />规定 :disabled 属性规定应该禁用 input 元素
效果 :不可编辑,不可复制,不可选择,不能接收焦点,设置后文字的颜色会变成灰色,后台也不会接收到传值。
<input type=“text” readonly=“readonly”/>规定 :规定输入字段为只读可复制
效果 :可选择,可以接收焦点,还可以选中或拷贝其文本。后台可以接收到传值.。readonly 属性可以防止用户对值进行修改。
<input type=“text” readonly unselectable=“on” />规定 :与disable类似
效果 :不可编辑,不可复制,不可选择,不能接收焦点,设置后文字的颜色也会变成灰色,但是后台可以接收到传值。

相信看完这个表格答案已经出来了:

  • 回显时不需要将此值显示到页面
<input type="hidden" />
  • 回显时有显示到页面的需求

    <input type="text" readonly="readonly">
    

    相比上面的多了一个unselectable=“on” ,在页面上的效果好像就在提醒用户我是只能看的

    (不可编辑,不可复制,不可选择,不能接收焦点,文字的颜色也会变成灰色)

    <input type="text" readonly unselectable="on" >
    

到错误,要分步进行调错**

找错原因:
1、写完mapper之后,全部进行了JUnit测试,所以排除mapper层错误
2、由mapper向上追踪;可能是service层在调用时传入的值不是理想的值;
所以在service层的代码中设置打印语句查看(或者使用断点调试查看)传入的数据,
···
果不其然!到这里就发现了错误,看到id为0

附图:
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值