如何才能做到让表单中变化的数据提交,不变的部分不提交,急-----

liuyyqz 2003-10-15 11:02:57
比如一个表单有N个单行文本框,
1、假如我只在一部分文本框中输入数据而其他的文本框没有输入数据,我只让 输入数据的文本框提交数据。
2、假设文本框的数据是从数据库的读出来的,在重新提交的时候只让数据改变的文本框提交数据,其他的数据因没有改变而不提交。
...全文
227 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hello_ld 2003-10-15
  • 打赏
  • 举报
回复
不要有这种想法。
maxid 2003-10-15
  • 打赏
  • 举报
回复
net_lover(孟子E章)说的我都看不明白,哈哈,可以说得简单点么?
liuyyqz 2003-10-15
  • 打赏
  • 举报
回复
楼上的能给我一个 示例吗? 我很需要
yonghengdizhen 2003-10-15
  • 打赏
  • 举报
回复
不需要这么麻烦
所有表单对象都有一个类似defaultValue的属性
用它和当前的值比较你就可以判断脏数据并通过disabled=true来禁止提交
孟子E章 2003-10-15
  • 打赏
  • 举报
回复
你可以做个类,提交时装载数据库记录,然后把字段作属性,与提交数据比较,很爽的
topmonkey 2003-10-15
  • 打赏
  • 举报
回复
---------------------------------------------------------------------------------------------
提交页面 submit.asp
------------------
<Table id=tb Width="600" Align="Center" Border="1" Style="Word-Break:Break-All" CellPadding="2" CellSpacing="0" BgColor="#e7e7e7" BorderColorLight="#878787" BorderColorDark="#FFFFFF">
<SCRIPT LANGUAGE="JavaScript">
<!--
var tbRows = 1;
var submited = false;//已经提交标记位
var maxSubmit = 20; //每次最多能提交资料条数

function addTr(upnum){//增加一行
var tr, td;
if(tbRows == 20){
alert("每次最多能提交" + maxSubmit + "条记录!");
return;
}
tr = tb.insertRow(++tbRows);
td = tr.insertCell();
td.innerHTML = "<Input Type=\"Text\" NAME=\"uid\" Value=\"\" size=4>";
td = tr.insertCell();
td.innerHTML = "<Input Type=\"Text\" NAME=\"uname\" Value=\"\" size=15>";
td = tr.insertCell();
td.innerHTML = "<Input Type=\"Text\" NAME=\"uclass\" Value=\"\" size=15>";
td = tr.insertCell();
td.innerHTML = "<Input Type=\"Text\" NAME=\"udescription\" Value=\"\" size=35>";
}

function delTr(){//删除一行
var tr, td;
if(tbRows > 1){
tr = tb.deleteRow(tbRows--);
}
}

function submitFrom(){//提交
if(!submited){
submited = true;
frmSubmit.submit();
return;
}else{
alert("请不要重复提交!");
return;
}
}
//-->
</SCRIPT>
<FORM NAME="frmSubmit" METHOD="post" ACTION="request.asp">
<tr Align="Center">
<td>学号</td>
<td>姓名</td>
<td>班级</td>
<td>备注</td>
</tr>
<tr>
<td><Input Type="Text" NAME="uid" Value="" size=4></td>
<td><Input Type="Text" NAME="uname" Value="" size=15></td>
<td><Input Type="Text" NAME="uclass" Value="" size=15></td>
<td><Input Type="Text" NAME="udescription" Value="" size=35></td>
</tr>
<tr>
<td colspan=4 Align="Right">
<Input Type="button" NAME="bAdd" Value="增加" onClick="addTr()">
<Input Type="button" NAME="bDel" Value="减少" onClick="delTr()">
<Input Type="button" NAME="bSubmit" Value="提交" onClick="submitFrom()">
</td>
</tr>
</FORM>
</Table>




---------------------------------------------------------------------------------------------
捕获信息页面 request.asp
------------------
<Table Width="600" Align="Center" Border="1" Style="Word-Break:Break-All" CellPadding="2" CellSpacing="0" BgColor="#e7e7e7" BorderColorLight="#878787" BorderColorDark="#FFFFFF">
<tr Align="Center">
<td>学号</td>
<td>姓名</td>
<td>班级</td>
<td>备注</td>
</tr>
<%
Dim i
i = 1
For Each item In Request("uid")
'也可以将这里捕获到的数据写入数据库
%>
<tr>
<td><%=Request("uid")(i)%></td>
<td><%=Request("uname")(i)%></td>
<td><%=Request("uclass")(i)%></td>
<td><%=Request("udescription")(i)%></td>
</tr>
<%
i = i + 1
Next
%>
</Table>
fyzeng 2003-10-15
  • 打赏
  • 举报
回复
全部提交也无所谓啊,反正是更新又不是插入。
一个页有三千个输入框,真强!!
liuyyqz 2003-10-15
  • 打赏
  • 举报
回复
怎么没有人帮我呢,分数不够我们可以在加呀?
liuyyqz 2003-10-15
  • 打赏
  • 举报
回复
各位帮帮忙吧,我做的是一个成绩录入和修改界面,不如说有3000个学生,在录入的时候就有3000个文本框,我的意思是现在有1000个学生的成绩输入到表单中啦,但其他的2000个学生的成绩暂时没有,我如何在提交的时候在提交1000学生的成绩,还有就是等另外2000个学生的成绩在次输入的时候,如个让以前输入的1000个学生的成绩不提交呢?各位大虾想想办法,在线等待
liuyyqz 2003-10-15
  • 打赏
  • 举报
回复
请各位大虾帮帮忙吗?
JMANYICZF 2003-10-15
  • 打赏
  • 举报
回复
期实没什么必要这样~你把所有数据读出来。想改就改。不改就不动啦。再加一个对比的函数。有所改动就更新就是啦。

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧