写了一个在线图书商城的作业。现在正在做购物车模块。在罗列出来的每个书旁边都有一个用
       <form action="cart.jsp" method="post">
       <input type="submit" value="加入我的购物车"></form>
这种方法做出来的一个按钮(按钮上写的是加入我的购物车,如果点击的话,就把它前边的书加到购物车里)
现在想问的是如何判定这个submit按钮按下了没??如果按下了,就执行insert sql语句,把按钮前边的书的信息写到一个数据库中的table里。如果没按下按钮,就不执行这条语句。我知道javascript函数可以写在html表单中,比如<input type="submit" value="加入我的购物车" onclick=scriptfunction>但是javascript是弱类型,不可以执行sql语句,所以不能再javascript函数中执行sql语句。总而言之,就是,按下按键,执行sql语句,没按下不执行sql语句

解决方案 »

  1.   

    按下submit后,form提交到action中,
    再由action来接收参数并调用service相应的处理方法,
    最后service调用dao的执行方法写入数据库。
      

  2.   

    基本的JSP连接数据库操作
    楼主找本参考书好好看看吧~
      

  3.   

    <form action="cart.jsp" method="post">
        <input type="submit" value="加入我的购物车">
    </form>submit 提交表单
    action 提交给哪个页面
    处理操作是写在action中。
      

  4.   

    <button onclick="javascript:add2cart('E201111010001')">加入购物车</button>
    <form id="cart_form" action="cart.add.do" method="post">
    <input type="hidden" name="item_id" />
    </form>function add2cart(id){
       if(!id)showError("Your operation is forbidden. Please contact to the administrator of the website");
       $("input[name='item_id']").val(id);
       $("#cart_form").submit();
    }
      

  5.   

    恩,这个我明白,但是我要在action中进行处理操作的数据是在上一页,像文本框,单选框什么的还可也以通过request.getparameter()方法得到上一页的值,可是这里form里就有一个submit,它怎么把这一页的值传到action那一页里呢?所以我就想在这一页直接把数据写到数据库库中,可是只有按下了按钮在执行insert语句,不按下不执行,怎么知道按下了或者没按下?
      

  6.   

    数据库连上了,现在不是数据库连接的问题,是选择性的执行sql语句的问题,按下submit就执行sql,不按下不执行,怎么做?
      

  7.   

    如果点提交购物车要执行sql,但页面不变的话,学学ajax就可以了,很普遍的应用,搜搜应该能找到
      

  8.   


    类似这样的的情况,传参有三种方式
    1.在你所谓的上一页设置一个隐藏域把你需要传的参数设置进去。...<input type = "hidden" .....>
    2.写一个脚本,通过设置form中action的值可以传递参数
    3.这种方法一般不适合采用,也就是你一个功能对应一个action ,那这样的话就导致代码大量冗余。