先贴一下大致的代码<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
<title>提示信息框</title>
<style type="text/css">
a{ color:#000; font-size:12px;text-decoration:none}
a:hover{ color:#900; text-decoration:underline}
body{background:;filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#ffffff,endColorStr=#003366); overflow:hidden}
#massage_box{ position:absolute; left:expression((body.clientWidth-350)/2); top:expression((body.clientHeight-200)/2); width:350px; height:200px;filter:dropshadow(color=#666666,offx=3,offy=3,positive=2); z-index:2; visibility:hidden}
#mask{ position:absolute; top:0; left:0; width:expression(body.scrollWidth); height:expression(body.scrollHeight); background:#666; filter:ALPHA(opacity=60); z-index:1; visibility:hidden}
.massage{border:#036 solid; border-width:1 1 3 1; width:95%; height:95%; background:#fff; color:#036; font-size:12px; line-height:150%}
.header{background:#036; height:10%; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; padding:3 5 0 5; color:#fff}
</style>
<!--实现层移动-->
<script language="javascript">
var Obj=''
document.onmouseup=MUp
document.onmousemove=MMovefunction MDown(Object){
Obj=Object.id
document.all(Obj).setCapture()
pX=event.x-document.all(Obj).style.pixelLeft;
pY=event.y-document.all(Obj).style.pixelTop;
}function MMove(){
if(Obj!=''){
  document.all(Obj).style.left=event.x-pX;
  document.all(Obj).style.top=event.y-pY;
  }
}function MUp(){
if(Obj!=''){
  document.all(Obj).releaseCapture();
  Obj='';
  }
}
</script>
</head>
<body>
<form name="check" id="check">
    <li>这里是表单的必填项</li>
    <li>这里是表单的必填项</li>
    <li>
        <div id="massage_box">
            <div class="massage">
                <div class="header" onmousedown=MDown(massage_box)>
                    <div style="display:inline; width:250px; position:absolute">本站提示信息</div>
                    <span onClick="massage_box.style.visibility='hidden'; mask.style.visibility='hidden'" style="float:right; display:inline; cursor:hand">×</span>
                </div>
                <ul style="margin-right:25">
                    <li>确定提交2</li>
                </ul>
            </div>
        </div>
        <div id="mask"></div>
        <span onClick="mask.style.visibility='visible';massage_box.style.visibility='visible'" style="cursor:hand"><a href="#">确定提交1</a></span>
    </li>
</form>
</body>
</html>
大致思路是当我点击确定提交1的时候会弹出massage_box的东西,说白了massage_box就是一个提示框,在这个阅读查看完这个massage_box提示框里面的一大推东西之后,再点击一下massage_box里面的“确定提交2”。这个时候整个表单才会执行,包括数据的录入和验证。
现在我要确保from里面的东西是否符合标准(是不是为空)。可是现在的情况是当我点击“确定提交1”的时候就会执行massage_box,然后当我点击完“确定提交2”后整个表单才会被验证。
但是这样很不合理,假如用户什么也不写提交空表单的话我想的是先被验证,确定ok了之后再弹出massage_box。这样做的话应该怎么处理

解决方案 »

  1.   

    代码不写了,思路大概是:
    massage_box可以采用某些jquery弹出层的控件。
    主页面通过AJAX传递数据到massage_box页面。
    然后massage_box用PHP代码处理传递过来的AJAX数据,缓存。让用户选择继续提交或放弃。
    等再次确定后,massage_box再将数据传递到最终页面。数据传递可以使用  JSON 方式 POST, 文本长度基本不受限制。
      

  2.   


    onclick=检测函数function 检测函数 (){
    检测成功:
    js 修改 显示弹出层
    否则:
    alert(失败提示);
    }确认这个流程后动手吧
      

  3.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf8" />
    <title>提示信息框</title>
    <style type="text/css">
    a{ color:#000; font-size:12px;text-decoration:none}
    a:hover{ color:#900; text-decoration:underline}
    body{background:;filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#ffffff,endColorStr=#003366); overflow:hidden}
    #massage_box{ position:absolute; left:expression((body.clientWidth-350)/2); top:expression((body.clientHeight-200)/2); width:350px; height:200px;filter:dropshadow(color=#666666,offx=3,offy=3,positive=2); z-index:2; visibility:hidden}
    #mask{ position:absolute; top:0; left:0; width:expression(body.scrollWidth); height:expression(body.scrollHeight); background:#666; filter:ALPHA(opacity=60); z-index:1; visibility:hidden}
    .massage{border:#036 solid; border-width:1 1 3 1; width:95%; height:95%; background:#fff; color:#036; font-size:12px; line-height:150%}
    .header{background:#036; height:10%; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; padding:3 5 0 5; color:#fff}
    </style>
    <!--实现层移动-->
    <script language="javascript">
    var Obj=''
    document.onmouseup=MUp
    document.onmousemove=MMovefunction MDown(Object){
    Obj=Object.id
    document.all(Obj).setCapture()
    pX=event.x-document.all(Obj).style.pixelLeft;
    pY=event.y-document.all(Obj).style.pixelTop;
    }function MMove(){
    if(Obj!=''){
      document.all(Obj).style.left=event.x-pX;
      document.all(Obj).style.top=event.y-pY;
      }
    }function MUp(){
    if(Obj!=''){
      document.all(Obj).releaseCapture();
      Obj='';
      }
    }function ck()
    {
    if(document.getElementById('a').value==''){
    alert("请填A");
    document.getElementById('a').focus();
    return false;
    }
    if(document.getElementById('b').value==''){
    alert("请填B");
    document.getElementById('b').focus();
    return false;
    }
    mask.style.visibility='visible';massage_box.style.visibility='visible'}
    function sb()
    {
    document.forms['check'].submit();
    }
    </script>
    </head>
    <body>
    <form name="check" id="check">
        <li>A<input type="text" name="a" id="a"></li>
        <li>B<input type="text" name="b" id="b"></li>
        <li>
            <div id="massage_box">
                <div class="massage">
                    <div class="header" onmousedown=MDown(massage_box)>
                        <div style="display:inline; width:250px; position:absolute">本站提示信息</div>
                        <span onClick="massage_box.style.visibility='hidden'; mask.style.visibility='hidden'" style="float:right; display:inline; cursor:hand">×</span>
                    </div>
                    <ul style="margin-right:25">
                        <li><span onClick="sb()" style="cursor:hand"><a href="#">确定提交2</a></span></li>
                    </ul>
                </div>
            </div>
            <div id="mask"></div>
            <span onClick="ck()" style="cursor:hand"><a href="#">确定提交1</a></span>
        </li>
    </form>
    </body>
    </html>