我想做一个按钮,当我点击一下的时候,按钮的值改变,传的参数也改变。比如,按钮是“活动的”,我点一下就变成“禁用”,同时用户被禁用。各位高手,帮帮忙啊。

解决方案 »

  1.   


    <script language="javascript">
    function aa(btn){
      btn.value = "禁止的"
      btn.disabled = true;
    }
    </script>
    <input type="button" value = "活动的" onclick="aa(this)">喜欢你的头像!
      

  2.   

    楼主说的禁用不仅仅只是楼上说的界面上的框框禁用,建议js同时进行ajax操作将记录在数据库中的属性变为禁用。。不知道是不是楼主的意思界面上的按钮禁用就楼上的就可以啦撒
      

  3.   

    就是二楼的意思,我学jsp的前台页面不太会,现在做网站,遇到这个问题,各位高手帮帮忙啊
      

  4.   

    数据库SQL2000 1个表 tb_user 两个字段  username 和 status
    status 2个状态 0 禁用状态 1启用状态
    2个页面
    index.jsp 和 操作页  op.jspindex.jsp<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
    <%@page import="java.sql.*"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
      <script>
       function toDo(o){
       var a="";
       if(o.value=="禁用"){
       a="0";
       }else{
       a="1";
       }  
       var b=encodeURI(encodeURI(o.name));
    var url="op.jsp?name="+b+"&status="+a;
    var xmlHttpRequest=new ActiveXObject("microsoft.xmlhttp");
    xmlHttpRequest.open("post",url,true);
    xmlHttpRequest.send(null);
    xmlHttpRequest.onreadystatechange=function(){
    if(xmlHttpRequest.readystate==4 && xmlHttpRequest.status==200){
    window.location.reload();
    }
    }
       }    
      </script>
      </head>  
      <body>
    <%
       String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
       String dbURL = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test";
       String userName = "sa";
       String userPwd = "sa";
       Connection dbConn = null;
       Statement statement=null;
       ResultSet rs=null;
       String sql="select username,status from tb_user";
      Class.forName(driverName);
      dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
      statement=dbConn.createStatement();
      rs=statement.executeQuery(sql); 
      while(rs.next()){
      out.println(rs.getString(1)+"   ");
      if("1".equals(rs.getString(2))){
      out.println("<input type='button' name='"+rs.getString(1)+"' value='禁用' onclick='toDo(this)'/>");
      }
       if("0".equals(rs.getString(2))){
      out.println("<input type='button' name='"+rs.getString(1)+"' value='启用' onclick='toDo(this)'/>");
      }
      out.println("<br>");
      }
      rs.close();
      statement.close();
      dbConn.close(); 
    %>    
      </body>
    </html>
    op.jsp<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
    <%@ page import="java.sql.*"%>
    <%@page import="java.net.URLDecoder"%>
    <%
       String name =URLDecoder.decode(request.getParameter("name"),"utf-8");
       String status=request.getParameter("status");
       String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
       String dbURL = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test";
       String userName = "sa";
       String userPwd = "sa";
       Connection dbConn = null;
       Statement stem = null;
       String sql="update tb_user set status = '"+status+"' where username='"+name+"'";
       try{
       Class.forName(driverName);
       dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
       stem=dbConn.createStatement();
       stem.executeUpdate(sql);
       }catch(Exception e){
        e.printStackTrace();
       }finally{
        stem.close();
        dbConn.close();
       }      
    %>
    代码都写在JSP里了 你不要不喜欢放SERVLET 随便你,
    效果是 status 状态值为 0 的 index.jsp 页面显示   "名字 和 button[启用]"
    点击事件操作AJAX 完成后 reload 当前页。
      

  5.   

    谢了,其实我就是不知道怎么用ajax。7楼的兄弟太热心 了,谢谢各位了。我明白了