在页面上修改某个字段时,如何在提交时判断该字段有没有被修改过

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在页面上修改某个字段时,如何在提交时判断该字段有没有被修改过相关的知识,希望对你有一定的参考价值。

js代码也行,后台代码也可以

常见方法有两种:
一、在客户端操作。
1 对页面原始值进行保存。
2 提交时,获取当前值。
3 用当前值与原始值进行对比。如果相同则表示没修改过。

二、在服务器端操作。
1 发送页面时不做任何处理。
2 提交时发送当前页面所有内容。
3 在服务器端拿到新数据后,再次读一次数据库,然后逐个字段进行对比。如果完全相同,表示没有修改过。
参考技术A 使用菜单数组
在文件菜单里增加一个菜单项,标题任意,现在假设菜单项的Name属性是mnuDynamic 
更改菜单项mnuDynamic的可见属性,使mnuDynamic.Visible= False 
更改菜单项mnuDynamic的下标(索引)属性,使mnuDynamic.Index=0 
在程序中控制菜单项mnuDynamic的动态装入。
Load mnuDynamic(1)
mnuDynamic(1).Caption = "动态菜单1"
mnuDynamic(1).Visible = True
使用用API函数
新建一个模块,复制以下代码。
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Const MF_STRING = &H0&
Public Const MF_BYCOMMAND = &H0&
Public Const GWL_WNDPROC = (-4)
Public Const WM_COMMAND = &H111
Public OldWinProc As Long

Public Function OnMenu(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
'响应菜单事件
If wMsg = WM_COMMAND Then
If wParam = 1000 Then MsgBox "Dynamic"
End If
OnMenu = CallWindowProc(OldWinProc, hwnd, wMsg, wParam, lParam)
End Function

窗体代码:
Private Sub Form_Load()
Dim hMenu As Long, hSubMenu As Long
hMenu = GetMenu(Me.hwnd)
hSubMenu = GetSubMenu(hMenu, 0)
InsertMenu hSubMenu, 0, MF_BYCOMMAND Or MF_STRING, 1000, "Dynamic"
OldWinProc = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOf OnMenu)
End Sub

参考技术B 用js 吧
1)在页面载入时,保存字段值。
在点击提交时对比字段的现在值和已保存的值查看是否有改变
2)在字段,一般应该是文本框吧。 在其改变事件中(onchange() ),如果此事件激活了
可以认为有改变,稳妥的方式和1)结合起来。本回答被提问者采纳
参考技术C 把修改之前的数据读取出来,跟修改之后进行比较,有变化表示有修改啊,在php中有一个很好用的函数可以用来做判断的

SQL SERVER中某个字段属性为varchar,我想把这个字段改成int型,如何操作?

工具/材料:以Management Studio为例。

1、首先在桌面上,点击“Management Studio”图标。

2、然后在该界面中,选中“要修改字段属性的数据表”。

3、之后在该界面中,右键点击“设计”选项。

4、接着在该界面中,选中要修改的“字段属性”选项。

5、然后在该界面中,修改选择为“int属性”选项。

6、之后在该界面中,点击上方“保存”按钮。

7、最后在该界面中,显示字段属性成功改成int型。

参考技术A aa为表名 bb为字段名
alter table aa alter column bb int

还要注意 如果原有的记录中 这个字段有字符 则改的时候会将这些记录的字符转成INT不成功,要先做好处理本回答被提问者采纳
参考技术B 首先你必须保证这个字段的值都是符合INT型规范的。
例如字段名是field
cast(field as int)即可转为int型
参考技术C 修改字段用alter命令,如果该列中存在超过INT最大范围值(-32767到+32768)或非法INT数据,则需要事先将数据处理,否则提示相关错误。
如下示例:
Alter Table temp_teble alter column price INT.
参考技术D insert into A..(NEID) select convert(varchar,NEID) from B

以上是关于在页面上修改某个字段时,如何在提交时判断该字段有没有被修改过的主要内容,如果未能解决你的问题,请参考以下文章

如何确保在禁用时提交 <select> 表单字段?

elemetn表单控件---未通过校验字段提交时自动定位到该字段位置

如何使用 jQuery 重新填充表单提交时隐藏的 CSV 字段

乐观锁悲观锁及其使用场景

如何从jQuery中的输入字段中删除焦点?

命令外部字段值随表格发送