check 函数 怎么不起作用?

kkk444dsfsa 2009-05-31 10:21:09
我是要求提交表单的同时 把保存按钮变灰 防止重复提交
save.asp 页面代码如下
<script language="javascript">
function check()
{ document.form1.btnsave.disabled=true;
document.form1.submit();}
</script>
<form name="form1" action="save.asp" method="post" onSubmit="return check()">
</form>
<input type="submit" name="btnsave" id="btnsave" value="保存入库(Alt+s)" accesskey="s" >
...全文
339 37 打赏 收藏 转发到动态 举报
写回复
用AI写文章
37 条回复
切换为时间正序
请发表友善的回复…
发表回复
kkk444dsfsa 2009-06-04
  • 打赏
  • 举报
回复
哈哈 不是我不用啊 我是看不懂啊
  • 打赏
  • 举报
回复
我测试的都正常使用,该代码是CSDN这个回帖里的那个功能
  • 打赏
  • 举报
回复
算了,我看你这些天问的问题全都只是要现成答案的,稍微只给例子你都不用!闪!!
kkk444dsfsa 2009-06-03
  • 打赏
  • 举报
回复
<script type="text/javascript">//<![CDATA[
document.getElementById("bt_Submit").onclick=function()
{
if(confirm('是否保存入库?')){
setTimeout(function()
{
var btn = document.getElementById("bt_Submit");
btn.disabled = true;
form3.submit();
setTimeout(function(){btn.disabled=false}, 10000);
},10);
}

}
//]]>
</script>

这段也没有执行
kkk444dsfsa 2009-06-03
  • 打赏
  • 举报
回复
可以保存 保存按钮没有变灰
还是不行 你的action提交到另外一个页面? 我的是提交到本页的
  • 打赏
  • 举报
回复
<form target="hf" name="form3" method="post"  action=""> 
<input name="ygje" type="hidden" id="ygje" value=" <%=ygje%>" size="15" readonly>
<input type="submit" name="Submitbgqr" id="bt_Submit" value="确认以上内容,进行保存入库" >
</form>
<iframe name="hf" style="display:none;"> </iframe>


<script type="text/javascript">//<![CDATA[
document.getElementById("bt_Submit").onclick=function()
{
if(confirm('是否保存入库?')){
setTimeout(function()
{
var btn = document.getElementById("bt_Submit");
btn.disabled = true;
form3.submit();
setTimeout(function(){btn.disabled=false}, 10000);
},10);
}

}
//]]>
</script>
  • 打赏
  • 举报
回复
<form name="form3" method="post"  action=""> 
<input name="ygje" type="hidden" id="ygje" value=" <%=ygje%>" size="15" readonly>
<input type="submit" name="Submitbgqr" id="bt_Submit" value="确认以上内容,进行保存入库" >
</form>

<script type="text/javascript">//<![CDATA[
document.getElementById("bt_Submit").onclick=function()
{
if(confirm('是否保存入库?')){
setTimeout(function()
{
var btn = document.getElementById("bt_Submit");
btn.disabled = true;
form3.submit();
setTimeout(function(){btn.disabled=false}, 10000);
},10);
}

}
//]]>
</script>
kkk444dsfsa 2009-06-03
  • 打赏
  • 举报
回复
看了一下这个 觉得可行 但是不知道如何用到自己的程序上?
在很多情况下都需要防止相同的表单被多次提交,很多人的实现方法都比较复杂(代码数量超过几十行!!)下面提供一种只需使用几行代码的方法,轻松地实现了防止用户刷新多次提交表单和使用后退钮重复多次提交表单。

表单文件formtest.asp
以下为引用的内容:

<%
  Randomize '初始代随机数种子
  num1=rnd() '产生随机数num1
  num1=int(26*num1)+65 '修改num1的范围以使其是A-Z范围的Ascii码,以防表单名出错
  session("antry")="test"&chr(num1) '产生随机字符串
  %>
  <form name="test" action="testact.asp" method="post">
  你的名字:<input type='text' name='' size=30>  '注意本行中使用了随机表单项名
  <input type='submit' value='提交'>
  </form>

表单处理程序testact.asp

以下为引用的内容:

<%
  teststr=request.form(session("antry"))
  if teststr="" then
   response.write "没有填写姓名或重复提交"
   '由于用户没有填写名字,或表单被重复提交(标志为session("antry")为空)引起
  else
   response.write teststr
   session("antry")=""'提交成功,清空session("antry"),以防重复提交!!
  end if
%>


在这里,你只需随机化一个必填项目的表单项名即可,不必随机化所有的表单项目。
kkk444dsfsa 2009-06-02
  • 打赏
  • 举报
回复
我这个页面save.asp 只是接收上一个表单页面的数据 预览打印而已(save.asp没有再输入数据,只是用于预览数据),然后把这些数据保存 不用再输入啦 怎么判断呢?

我是要求从上页接收数据预览打印 然后在提交表单保存(提交到本页save.asp)的同时 把保存按钮变灰 防止重复提交
在asp 中提交表单并要求保存按钮变灰 需要刷新页面(通常的做法是提交到另一个页面) 但是我要提交本页面 如何处理较好呢?
以下才是表单页,是用window.open()打开的页面
<script language="javascript">
function open_form(){
input3.target="preview";
input3.action="save.asp";
var win = window.open("about:blank","preview","width=850,height=600,scrollbars=yes,top="+(window.screen.height-600)/2+",left="+(window.screen.width-800)/2+"");
win.focus();
input3.submit();
}
</script>
lbcleo 2009-06-02
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 dh20156 的回复:]
给个演示的代码,将下面代码保存为 save.html 然后测试:

JScript code
<form method="get" action="save.html" target="fif">
<label>test:</label><input type="text" name="test" /><input id="x-btn" type="submit" />
</form>
<iframe name="fif" src="about:blank"></iframe>

<script type="text/javascript" src="http://www.easyui.org.cn/easyui.js"></script>
<script type="text/javascript">
v…
[/Quote]

实现了楼主所说的
kkk444dsfsa 2009-06-02
  • 打赏
  • 举报
回复
这是我的save.asp代码
<!-- #Include File="Conn.asp" -->
<script language="javascript">
function check()
{
document.form1.btnsave.disabled=true;
document.form1.submit();
}
</script>
<%
'先预览 后保存
clbh = request("clbh")
ids = Trim(Request("ids"))
if request.form("save") <>"" then
sql="insert into fhqd(clbh,title,tj) select '"&clbh&"',title,tj from user1 where [ID] In (" & ids & ") "
response.Write sql
Set Rs = Conn.Execute(sql)
response.Write "记录已成功保存"
end if

If ids <> "" Then
strSql = "Select * From user1 Where [ID] In (" & ids & ")"
set rs = server.CreateObject("adodb.recordset")
rs.open strSql,conn,1,3

%>
<body>
<form name="form1" target="_blank" action="save.asp" method="post" onSubmit="return check()">
<table><tr><td>车辆编号:</td><td><%response.Write clbh%><input type="hidden" name="clbh" value="<%=request("clbh")%>"></td></tr></table>
<table width="75%" border="1">
<tr align="center">
<td>id </td>
<td>用户名 </td>
<td>件数 </td>
</tr>
<%
Do While Not Rs.Eof
%>
<tr align="center">
<td> <%=Rs("ID")%> </td>
<td> <%=Rs("Title")%> </td>
<td> <%=Rs("tj")%> </td>
</tr>
<%
Rs.MoveNext()
Loop
%>
</table>
<input type="submit" name="save" value="保存">
<input type="button" name="guanbi" value="关闭" onClick="javascript:window.close();">
<input type="hidden" name="ids" value="<%=ids%>">

</form>
<iframe name="hf" style="display:none;"></iframe>
<%
Rs.Close()
Set Rs = Nothing
End If
%>
</body>
dh20156 2009-06-02
  • 打赏
  • 举报
回复
给个演示的代码,将下面代码保存为 save.html 然后测试:

<form method="get" action="save.html" target="fif">
<label>test:</label><input type="text" name="test" /><input id="x-btn" type="submit" />
</form>
<iframe name="fif" src="about:blank"></iframe>

<script type="text/javascript" src="http://www.easyui.org.cn/easyui.js"></script>
<script type="text/javascript">
var dform = document.getElementsByTagName('form')[0];
var dbtn = document.getElementById('x-btn'),pdbtn = parent.document.getElementById('x-btn');
if(dform){dform.onsubmit = function(){dbtn.disabled = true;}}
//模拟ASP取表单数据,该方法出自easyui.js,在asp中你换回var xxx= '<%=xxx%>';的形式;
var sargs = easyUI.getArgs();
if(sargs['test']){
alert('这是提交的数据:'+sargs['test']);
if(confirm('提交按钮灰掉鸟,是否要恢复?')){
pdbtn.disabled = false;
}
}
</script>
kkk444dsfsa 2009-06-02
  • 打赏
  • 举报
回复
以下才是表单页,是用window.open()打开的页面
<script language="javascript">
function open_form(){
input3.target="preview";
input3.action="save.asp";
var win = window.open("about:blank","preview","width=850,height=600,scrollbars=yes,top="+(window.screen.height-600)/2+",left="+(window.screen.width-800)/2+"");
win.focus();
input3.submit();
}
</script>

这是我的save.asp代码
<!-- #Include File="Conn.asp" -->
<script language="javascript">
function check()
{
document.form1.btnsave.disabled=true;
document.form1.submit();
}
</script>
<%
'先预览 后保存
clbh = request("clbh")
ids = Trim(Request("ids"))
if request.form("save") <>"" then
sql="insert into fhqd(clbh,title,tj) select '"&clbh&"',title,tj from user1 where [ID] In (" & ids & ") "
response.Write sql
Set Rs = Conn.Execute(sql)
response.Write "记录已成功保存"
end if

If ids <> "" Then
strSql = "Select * From user1 Where [ID] In (" & ids & ")"
set rs = server.CreateObject("adodb.recordset")
rs.open strSql,conn,1,3

%>
<body>
<form name="form1" target="_blank" action="save.asp" method="post" onSubmit="return check()">
<table> <tr> <td>车辆编号: </td> <td> <%response.Write clbh%> <input type="hidden" name="clbh" value=" <%=request("clbh")%>"> </td> </tr> </table>
<table width="75%" border="1">
<tr align="center">
<td>id </td>
<td>用户名 </td>
<td>件数 </td>
</tr>
<%
Do While Not Rs.Eof
%>
<tr align="center">
<td> <%=Rs("ID")%> </td>
<td> <%=Rs("Title")%> </td>
<td> <%=Rs("tj")%> </td>
</tr>
<%
Rs.MoveNext()
Loop
%>
</table>
<input type="submit" name="save" value="保存">
<input type="button" name="guanbi" value="关闭" onClick="javascript:window.close();">
<input type="hidden" name="ids" value=" <%=ids%>">

</form>
<iframe name="hf" style="display:none;"> </iframe>
<%
Rs.Close()
Set Rs = Nothing
End If
%>
</body>


kkk444dsfsa 2009-06-01
  • 打赏
  • 举报
回复
我这个页面save.asp 只是接收上一个页面的数据预览打印而已,然后把这些数据保存 不用再输入啦 怎么判断呢?

我是要求从上页接收数据预览打印 然后在提交表单保存(提交到本页save.asp)的同时 把保存按钮变灰 防止重复提交
在asp 中提交表单并要求保存按钮变灰 需要刷新页面(通常的做法是提交到另一个页面) 但是我要提交本页面 如何处理较好呢?
save.asp 页面代码如下

<script language="javascript">
function check()
{ document.form1.btnsave.disabled=true;
document.form1.submit();}
</script>
<form name="form1" action="save.asp" method="post" onSubmit="return check()">
</form>
<input type="submit" name="btnsave" id="btnsave" value="保存入库(Alt+s)" accesskey="s" >
上面的代码能提交表单保存 但是保存按钮没有变灰 如果把红色的两行对调个位置的话 变成 保存按钮可以变灰 但是不能提交保存 如何两者兼顾呢?

提交到本页当然不行啦,一提交,页面就重新打开一遍了,之前的JS效果当然不会保留了,除非你用iframe隐藏提交或者ajax方式提交,意思就是,只要本页不刷新就可以。
dh20156 说的对 怎么用ajax 提交表单到本页面呢 只要把保存按钮变灰
楼上的请给个解决方法 代码
kkk444dsfsa 2009-06-01
  • 打赏
  • 举报
回复
不行啊 怎么提交呢
给个代码吧?
scscms太阳光 2009-06-01
  • 打赏
  • 举报
回复
<form target="hf" name="form1" action="save.asp" method="post">
<input type="submit" name="btnsave" id="btnsave" disabled=true value="保存入库(Alt+s)" accesskey="s" >
</form>
你直接设置它为禁止提交状态,然后在表单中检查用户已经按要求输入内容后,JS改成可以提交.那就OK了
kkk444dsfsa 2009-06-01
  • 打赏
  • 举报
回复
<script language="javascript">
function check()
{
document.form1.btnsave.disabled=true;
return true;

}
</script>
<form target="hf" name="form1" action="save.asp" method="post" onSubmit="return check()">
<input type="submit" name="btnsave" id="btnsave" value="保存入库(Alt+s)" accesskey="s" >
</form>
<iframe name="hf" style="display:none;"></iframe>

hooke 你的方法return true在后 不能保存 如果return true 在前 就能保存 但不能使按钮变灰
就是不能二者兼顾 ! save.asp 是提交到本页的
kkk444dsfsa 2009-06-01
  • 打赏
  • 举报
回复
我这个页面save.asp 只是接收上一个页面的数据预览打印而已,然后把这些数据保存 不用再输入啦 怎么判断呢?

我是要求从上页接收数据预览打印 然后在提交表单保存(提交到本页save.asp)的同时 把保存按钮变灰 防止重复提交
在asp 中提交表单并要求保存按钮变灰 需要刷新页面(通常的做法是提交到另一个页面) 但是我要提交本页面 如何处理较好呢?
save.asp 页面代码如下

<script language="javascript">
function check()
{ document.form1.btnsave.disabled=true;
document.form1.submit();} </script>
<form name="form1" action="save.asp" method="post" onSubmit="return check()">
</form>
<input type="submit" name="btnsave" id="btnsave" value="保存入库(Alt+s)" accesskey="s" >
上面的代码能提交表单保存 但是保存按钮没有变灰 如果把红色的两行对调个位置的话 变成 保存按钮可以变灰 但是不能提交保存 如何两者兼顾呢?

提交到本页当然不行啦,一提交,页面就重新打开一遍了,之前的JS效果当然不会保留了,除非你用iframe隐藏提交或者ajax方式提交,意思就是,只要本页不刷新就可以。
dh20156 说的对 怎么用ajax 提交表单到本页面呢 只要把保存按钮变灰
楼上的请给个解决方法 代码
tianxiadiwang001 2009-06-01
  • 打赏
  • 举报
回复
<script language="javascript">
function check()
{
document.form1.btnsave.disabled=true;
return true;
}
</script>
<form name="form1" action="save.asp" method="post" onSubmit="return check()">
<input type="submit" name="btnsave" id="btnsave" value="保存入库(Alt+s)" accesskey="s" >
</form>
hookee 2009-05-31
  • 打赏
  • 举报
回复
表单递交了,可以看服务器端的数据变化
加载更多回复(17)

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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