要做一个用户发帖前登录的判断,用户点击“发帖”如果未登录,则会弹出登录框,并且不把用户写的帖子内容传输给PHP文件处理,如果已登录,则不弹出登录框,直接把用户写的帖子内容传输给PHP文件处理,<form  method=post action="pinglun.php"><input id="sendBtn" type="submit" value="发表" title="快捷键 Ctrl+Enter" /></form><script type="text/javascript">
var reg = document.getElementById("sendBtn");//获取input元素
// 根据用户登录状态选择是否弹出登录框
if(n==“”)
   {
      reg.onclick = function(){ }
           }      
</script>现在的问题是,如果用户未登录,会弹出登录框,但之后有会把数据传送给PHP处理
请问用什么办法,在用户未登录的情况下,只弹出登陆框,而不会把文件给php处理。     

解决方案 »

  1.   

    给表单绑定 onsubmit事件,该事件允许有返回值来确定是否继续提交
    例如:
    <script>
    function checkStatus()
    {
     if(userLogin) return true;
     else { alert('please login'); return false; }
    }
    </script>
    <input id="sendBtn" type="submit" value="发表" title="快捷键 Ctrl+Enter" onsubmit="return checkStatus();" />
      

  2.   

    用了这办法,没解决,我用令一种方法实现了弹出层,但是弹出层会闪一下就没。
    分析了原因,应该是input按钮的问题,但是不知道原因,求教
    <form method=post action="pinglun.php" id="hello">
      <h2>说说你的看法</h2>
      <div>
      <input id="userName" name="mingzi" class="f-text" value="" />
      <input id="pinglunid" name="pinglunid" value="sss" type="hidden">
      <p id="face"><img src="img/face1.gif" class="current" /><img src="img/face2.gif" /><img src="img/face3.gif" /><img src="img/face4.gif" /><img src="img/face5.gif" /><img src="img/face6.gif" /><img src="img/face7.gif" /><img src="img/face8.gif" /></p>
      </div>
      <div><textarea name="txt" id="conBox" class="f-text"></textarea></div>
      <div class="tr">
      <p>
      <span class="countTxt"></span><strong class="maxNum">140</strong><span></span>  <input id="sendBtn" type="submit" value="发表" title="快捷键 Ctrl+Enter" />  </p>
      </div>
      </form>
    <div id="mysDiv">156</div><script type="text/javascript">
    var myAlert = document.getElementById("alert");
    var reg = document.getElementById("sendBtn");
    var mClose = document.getElementById("close");var n=document.getElementById("mysDiv").innerText;
    document.write(n);
    if(n==156)
    {
    reg.onclick = function(){
    myAlert.style.display = "block";
    myAlert.style.position = "absolute";
    myAlert.style.top = "50%";
    myAlert.style.left = "50%";
    myAlert.style.marginTop = "-75px";
    myAlert.style.marginLeft = "-150px";mybg = document.createElement("div");
    mybg.setAttribute("id", "mybg");
    mybg.style.background = "#000";
    mybg.style.width = "100%";
    mybg.style.height = "100%";
    mybg.style.position = "absolute";
    mybg.style.top = "0";
    mybg.style.left = "0";
    mybg.style.zIndex = "500";
    mybg.style.opacity = "0.3";
    mybg.style.filter = "Alpha(opacity=30)";
    document.body.appendChild(mybg);
    document.body.style.overflow = "hidden";
    }
    document.getElementById("hello").action="";
    }
    else
    {
    //document.getElementById("myDiv").style.display="none";
    return flase;}
    mClose.onclick = function() {
    myAlert.style.display = "none";
    mybg.style.display = "none";
    }
    </script>部分代码如上,点击"发表“按钮,弹出层闪一下就没了,
      

  3.   


    <form method=post action="pinglun.php" id="hello">
      <h2>说说你的看法</h2>
      <div>
      <input id="userName" name="mingzi" class="f-text" value="" />
      <input id="pinglunid" name="pinglunid" value="sss" type="hidden">
      <p id="face"><img src="img/face1.gif" class="current" /><img src="img/face2.gif" /><img src="img/face3.gif" /><img src="img/face4.gif" /><img src="img/face5.gif" /><img src="img/face6.gif" /><img src="img/face7.gif" /><img src="img/face8.gif" /></p>
      </div>
      <div><textarea name="txt" id="conBox" class="f-text"></textarea></div>
      <div class="tr">
      <p>
      <span class="countTxt"></span><strong class="maxNum">140</strong><span></span>  <input id="sendBtn" type="submit" value="发表" title="快捷键 Ctrl+Enter" />  </p>
      </div>
      </form>
    <div id="mysDiv">156</div><script type="text/javascript">
    var myAlert = document.getElementById("alert");
    var reg = document.getElementById("sendBtn");
    var mClose = document.getElementById("close");var n=document.getElementById("mysDiv").innerText;
    document.write(n);
    if(n==156)
    {
    reg.onclick = function(){
    myAlert.style.display = "block";
    myAlert.style.position = "absolute";
    myAlert.style.top = "50%";
    myAlert.style.left = "50%";
    myAlert.style.marginTop = "-75px";
    myAlert.style.marginLeft = "-150px";mybg = document.createElement("div");
    mybg.setAttribute("id", "mybg");
    mybg.style.background = "#000";
    mybg.style.width = "100%";
    mybg.style.height = "100%";
    mybg.style.position = "absolute";
    mybg.style.top = "0";
    mybg.style.left = "0";
    mybg.style.zIndex = "500";
    mybg.style.opacity = "0.3";
    mybg.style.filter = "Alpha(opacity=30)";
    document.body.appendChild(mybg);
    document.body.style.overflow = "hidden";
    }
    document.getElementById("hello").action="";
    }
    else
    {
    //document.getElementById("myDiv").style.display="none";
    return flase;}
    mClose.onclick = function() {
    myAlert.style.display = "none";
    mybg.style.display = "none";
    }
    </script>
      

  4.   

    完整代码
    <body>
    <div id="container">
      <div id="header"></div>
      <div id="menu"></div>
      <div id="mainContent">
      <div id="sidebar">
    <table width=100%>
    <tr>
    <td width=100% align="center">hilive </td>
    </tr>
    </table>
    </div>
      <div id="sidebar2"></div>
      <div id="content">neirong
    <TABLE cellspacing=0 border=0 bgcolor=#f5f9fa width=100% ><TR><TD WIDTH=100 ALIGN=RIGHT VALIGN=bottom></TD>
    <TD><center><br><font size=-1 color=green>作者:<a href="/browse/Listwriter.asp?vid=66546931&vwriter=" target=_blank></a>
    <span name="ad_logo_userid_66546931" value="66546931"></span>
    回复日期:</font></center></TD><TD WIDTH=100 ALIGN=RIGHT VALIGN=bottom>&nbsp;</TD></TR>
    </table>
    <div id="msgBox">
      <form method=post action="pinglun.php" id="hello">
      <h2>说说你的看法</h2>
      <div>
      <input id="userName" name="mingzi" class="f-text" value="" />
      <input id="pinglunid" name="pinglunid" value="sss" type="hidden">
      <p id="face"><img src="img/face1.gif" class="current" /><img src="img/face2.gif" /><img src="img/face3.gif" /><img src="img/face4.gif" /><img src="img/face5.gif" /><img src="img/face6.gif" /><img src="img/face7.gif" /><img src="img/face8.gif" /></p>
      </div>
      <div><textarea name="txt" id="conBox" class="f-text"></textarea></div>
      <div class="tr">
      <p>
      <span class="countTxt"></span><strong class="maxNum">140</strong><span></span>  <input id="sendBtn" type="submit" value="发表" title="快捷键 Ctrl+Enter" />  </p>
      </div>
      </form>
      <div class="list">
      <h3><span>回复区</span></h3>
      <ul>
      <form>
      
      
    <script type="text/javascript">function loadXMLDoc()
    {
    var xmlhttp;
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
      {
      document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
      }
      }
    xmlhttp.open("GET","pinglunchu.php?id=sss",true);
    xmlhttp.send();
    }
    setInterval("loadXMLDoc()",10000000);
    </script></form>
    <div id="myDiv"></div>  </ul>
      </div>
    </div></div>
      </div>
      <div id="footer"><span style="display:none"><script language="javascript" type="text/javascript" src="http://js.users.51.la/1967272.js"></script></span></div>
    </div> <div id="alert">
     <form action="1.php" method="post">
     <h4><span>现在注册</span><span id="close">关闭</span></h4>
      <p><label> 用户名</label><input type="text" name="use" class="myinp" onmouseover="this.style.border='1px solid #f60'" onfoucs="this.style.border='1px solid #f60'" onblur="this.style.border='1px solid #ccc'" /></p>
      <p><label> 密 码</label><input type="password" name="password" class="myinp" onmouseover="this.style.border='1px solid #f60'" onfoucs="this.style.border='1px solid #f60'" onblur="this.style.border='1px solid #ccc'" /></p>
      <p><input type="submit" value="注册" class="sub" /><input type="reset" value="重置" class="sub" /></p>
      </form>
      </div>
    <div id="mysDiv">156</div><script type="text/javascript">
    var myAlert = document.getElementById("alert");
    var reg = document.getElementById("sendBtn");
    var mClose = document.getElementById("close");var n=document.getElementById("mysDiv").innerText;
    document.write(n);
    if(n==156)
    {
    reg.onclick = function(){
    myAlert.style.display = "block";
    myAlert.style.position = "absolute";
    myAlert.style.top = "50%";
    myAlert.style.left = "50%";
    myAlert.style.marginTop = "-75px";
    myAlert.style.marginLeft = "-150px";mybg = document.createElement("div");
    mybg.setAttribute("id", "mybg");
    mybg.style.background = "#000";
    mybg.style.width = "100%";
    mybg.style.height = "100%";
    mybg.style.position = "absolute";
    mybg.style.top = "0";
    mybg.style.left = "0";
    mybg.style.zIndex = "500";
    mybg.style.opacity = "0.3";
    mybg.style.filter = "Alpha(opacity=30)";
    document.body.appendChild(mybg);
    document.body.style.overflow = "hidden";
    }
    document.getElementById("hello").action="";
    }
    else
    {
    //document.getElementById("myDiv").style.display="none";
    return flase;}
    mClose.onclick = function() {
    myAlert.style.display = "none";
    mybg.style.display = "none";
    }
    </script>
    </body>
      

  5.   

    onsubmit去验证一下,如果没有登陆的话,就阻止提交!
      

  6.   

    你要给form绑定onsubmit事件验证登录,若未登录则弹出框并返回false