刷新问题:
在同一个网页内增加数据,第一次按提交按钮,接着按IE的刷新又增加同样一条记录了!刷新不要增加记录的话,怎么处理呢?
if request.form( "uid ") <> " " and request.form( "bodys ") <> " " then
sqla= "insert into message(username,body,ip,addtime) values( ' "&uid& " ', ' "&bodys& " ', ' "&ip& " ', ' "&addtime& " ') "
conn.execute(sqla)
end if
是不是下面代码错误了呢?不填东西也没反应!!!
<script language= "JavaScript ">
<!--
function validate(theform) {
if (theform.uid.value== " " || theform.bodys.value== " ") {
alert( "姓名和留言是必须填写的! ");
clckcnt=0;
return false; }
-->
</script>
<form name= "form " method= "post " onsubmit= "return validate(this) " action= " "> 。。 </form>
------解决方案--------------------这是asp的一个刷新问题,很多人通过这个方法来往你数据库中提交垃圾的内容,是应该修改一下程序,在你提交成功后把页面转回去,用response.redirect( "index.asp ")的方法,这样那个表单里的内容都为空了,他提交也提交不上去了.你的javascript语句有问题,所以别人提交的时候不提示,下面是我的程序.看看...
function check()
{
if (document.submitform.name.value.length <2)
{
alert ( "请输入您的名字! ");
submitform.name.focus();
return false;
}
if (!(isEmail(document.submitform.email.value )))
{
alert( "请正确输入您的EMAIL地址! ");
submitform.email.focus();
return false;
}
}
<form name= "form " method= "post " onsubmit= "return check(); " action= "add.asp "> ... </form>
------解决方案-------------------- function isEmail(vEMail)
{
var regInvalid=/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
var regValid=/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
return (!regInvalid.test(vEMail)&®Valid.test(vEMail));
}
function check()
{
if (document.submitform.name.value.length <2)
{
alert ( "请输入您的名字! ");
submitform.name.focus();
return false;
}
if (!(isEmail(document.submitform.email.value )))
{
alert( "请正确输入您的EMAIL地址! ");
submitform.email.focus();
return false;
}
if (document.submitform.companyname.value.length <2)
{
alert ( "请输入你的公司名称! ");
submitform.companyname.focus();
return false;
}
}
------解决方案--------------------提交以后response.redirect
一般论坛都采用的这种方式.
------解决方案--------------------楼上的,跳转
JS有可能表单或者其它名字写错了
------解决方案--------------------