如何获取同一个form表单里的对象的value值呢

问题描述

如何获取同一个form表单里的对象的value值呢
         <input type="hidden" id="district<%=i%>" name="district"  >
                     <script>
                          document.getElementById("district"+i).value=document.getElementById("shuru"+i).value
                      </script>

如题,我想将hidden里的value 设置为上面id为shuru的的值

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="Db.Db"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.util.Date"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>
<!--  修改前-->
<%

request.setCharacterEncoding("utf-8");
String uaddr = null;
int uid = 0;
    String uname = request.getParameter("uname");
    String[] strgid = request.getParameterValues("addOrders");

    Connection conn = null;
    Statement stmt = null;
    Statement stmt1 = null;
    ResultSet rs = null;
    ResultSet rs1 = null;
    conn = Db.getconn();
    stmt = conn.createStatement();
    stmt1 = conn.createStatement();
    System.out.println(uname);
    rs1 = stmt1.executeQuery("select * from user where uname = '"+ uname + "' ");
    if (rs1.next()) {
        uaddr = rs1.getString("uaddr");
        uid = rs1.getInt("uid");
    }
%>

<%
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String nowTime = sdf.format(new Date());
    %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>购物车</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">

</head>

<body>
      <form method="post" action="servlet/AddOrdersServlet"  name="numSender">
            <input type="hidden" name="uid" value="<%=uid%>">
            <input type="hidden" name="uname" value="<%=uname%>">
            <input type="hidden" name="oaddr" value="<%=uaddr%>">
            <input type="hidden" name="dealtime" value="<%=nowTime%>">
<!-----script放到循环外------->
            <script type="text/javascript">
                function jianC(i,p1) {
                    /*定义变量K,用商品数量输入框里面的数字赋值*/
                    var k =document.getElementById("shuru"+i);//获取数量输入控件
                    var v=parseInt(k.value,10);
                    v--;
                    /*点击-号按钮会递减商品价格*/
                    if (v < 1) {
                        alert("亲,商品数量不能小于1!");
                        return//超限退出
                    }
                    k.value=v;
                    k.setAttribute('sum',v*p1)//将这个物品的小计放到自定义属性sum中,方便计算总价
                   setTotal()//重新设置总价钱
                }
                function adddC(i,p1) {
                    /*点击+号按钮会递加商品数量*/
                    var k =document.getElementById("shuru"+i);//获取数量输入控件
                    var v=parseInt(k.value,10);
                    v++;
                    if (v > 99) {
                        alert("您所选择的数量已经到达库存上限!");
                        return//超限退出
                    }
                    k.value=v;
                    k.setAttribute('sum',v*p1)//将这个物品的小计放到自定义属性sum中,方便计算总价
                    setTotal()//重新设置总价钱
                }
function setTotal(){//设置总价
  var o=document.getElementsByName('init_num');//获取数量输入框
  var sum=0;
  for(var i=0;i<o.length;i++)sum+=parseInt(o[i].getAttribute('sum')||0)
  document.getElementById("cost").value = sum + "元"
}

function sendNum() {
alert("xxxxxx");
document.getElementById("district"+i).value=document.getElementById("shuru"+i).value;
alert("aaaaaaaaaaa");
}
</script>
        <table border=1 align="center">
            <tr>
                <td colspan="4" align="center">购物车</td>
            </tr>
            <tr>
                <td align="center">商品</td>
                <td align="center">数量</td>
                <td align="center" colspan="1">操作</td>
            </tr>
            <%
                for (int i = 0; i < strgid.length; i++) {
                    int gid = Integer.parseInt(strgid[i]);
                    rs = stmt.executeQuery("select * from goods where gid =" + gid);
                    if (rs.next()) {
                        String strgprice = rs.getString("gprice");
                        Double p =Double.parseDouble(strgprice);
                    //  System.out.println("p="+p);
            %>
            <!-- ss -->
            <tr>
                <td><img src="<%=rs.getString("gpicture")%>">&nbsp;<%=rs.getString("gname")%></td>
                <td><input type="button" id="jian" onClick="jianC(<%=i%>,<%=p%>)" value="-"><!-----传入循环i和单价------->
                    <input id="shuru<%=i%>" name="init_num" class="input_text" type="text" value="0" size="3"><!-----id连接上i变为唯一------->

                     <input type="hidden" id="district<%=i%>" name="district"  >
                     <script>
                          document.getElementById("district"+i).value=document.getElementById("shuru"+i).value
                      </script>
                    <input type="button" id="addd" onClick="adddC(<%=i%>,<%=p%>)" value="+"><!-----传入循环i和单价-------></td>
                    <td>
                    <input type="checkbox" name="gid" value="<%=gid %>">
                    </td>
            </tr>
            <%
                }
                }
                rs.close();
                rs1.close();
                stmt.close();
                stmt1.close();
                conn.close();
            %>
            <tr>
                <td colspan="4" align="center">
                 总价:<input id="cost" class="input_text" type="text" value="0"
                    size="3" value="0"></td>
            </tr>
            <tr>
                <td colspan="5" align="center">
                    <button id="buy_anniu" type="submit" onClick="sendNum()">提交</button>
                    <button type="reset">重置</button>
                </td>
            </tr>
        </table>

    </form>
</body>
</html>

解决方案

使用jquery

解决方案二:

使用jQuery $('#shuru').val() 把前面获得值复制到value上就行了

解决方案三:

 <input id="shuru" name="init_num" class="input_text" type="text" value="0" size="3">
  <input type="hidden" id="district" name="district" value=""  >
<script>
document.getElementById('district').value=document.getElementById('shuru').value
</script>

id唯一可以使用上面的代码,如果不以为就不好搞了,要通过DOM关系来获取对象。

解决方案四:

在提交的时候onclink一下,然后获取id为shuru的值,并把获取到的值传给district。

解决方案五:

注意id一定不要重复

 <input id="shuru<%=i%>" name="init_num" class="input_text" type="text" value="0" size="3"><!-----id连接上i变为唯一------->
<input type="hidden" id="district<%=i%>" name="district" value=""  ><!-----id连接上i变为唯一------->

传入循环遍历使id不重复。然后document.getElementById("district"+i)就可以获取到对应的隐藏控件设置值了,如下


               function jianC(i,p1) {
                    /*定义变量K,用商品数量输入框里面的数字赋值*/
                    var k =document.getElementById("shuru"+i);//获取数量输入控件
                    var v=parseInt(k.value,10);
                    v--;
                    /*点击-号按钮会递减商品价格*/
                    if (v < 1) {
                        alert("亲,商品数量不能小于1!");
                        return//超限退出
                    }
                    document.getElementById("district"+i).value=v;///////////////设置值
                    k.value=v;
                    k.setAttribute('sum',v*p1)//将这个物品的小计放到自定义属性sum中,方便计算总价
                   setTotal()//重新设置总价钱
                }
                function adddC(i,p1) {
                    /*点击+号按钮会递加商品数量*/
                    var k =document.getElementById("shuru"+i);//获取数量输入控件
                    var v=parseInt(k.value,10);
                    v++;
                    if (v > 99) {
                        alert("您所选择的数量已经到达库存上限!");
                        return//超限退出
                    }
                    document.getElementById("district"+i).value=v;////////////设置值
                    k.value=v;
                    k.setAttribute('sum',v*p1)//将这个物品的小计放到自定义属性sum中,方便计算总价
                    setTotal()//重新设置总价钱
                }
时间: 2025-01-20 09:07:11

如何获取同一个form表单里的对象的value值呢的相关文章

Javascript和Java获取各种form表单信息的简单实例

 本篇文章主要是对Javascript和Java获取各种form表单信息的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 大家都知道我们在提交form的时候用了多种input表单.可是不是每一种input表单都是很简单的用Document.getElementById的方式就可以获取到的.有一些组合的form类似于checkbox或者radio或者select我们如何用javascript获取和在服务器中获取提交过来的参数呢?多说无用.上代码:   Jsp-html代码:  

html5 form表单里有多个 input type=&amp;amp;quot;search&amp;amp;quot;的问题?

问题描述 html5 form表单里有多个 input type="search"的问题? html5页面 form表单里有多个 input type="search",在手机上浏览,在search框内 输入后,点击键盘右下角的搜索,form表单没有提交.若form表单里只有一个search, 则会提交表单.这类问题主要是什么? 解决方案 把名字去不一样,看行不行 解决方案二: <input type="search" name="

解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题

一 问题 在公司的开发过程中,遇到了一个问题:如何处理 form 表单提交了多个 name 属性值相同的 input 标签?源码如下(源码是在 form 表单之中的): <!--{loop $address $index $one}--> <div class="address_item"> <p> <label> <input type="hidden" name="express_price&quo

jquery form表单序列化为对象的示例代码

 这篇文章主要介绍了jquery form表单序列化为对象具体实现,需要的朋友可以参考下  代码如下: $.fn.serializeObject = function() {  var o = {};  var a = this.serializeArray();  $.each(a, function() {  if (o[this.name]) {  if (!o[this.name].push) {  o[this.name] = [ o[this.name] ];  }  o[this.

Javascript和Java获取各种form表单信息的简单实例_javascript技巧

大家都知道我们在提交form的时候用了多种input表单.可是不是每一种input表单都是很简单的用Document.getElementById的方式就可以获取到的.有一些组合的form类似于checkbox或者radio或者select我们如何用javascript获取和在服务器中获取提交过来的参数呢?多说无用.上代码: Jsp-html代码: 复制代码 代码如下:  <form action="input.do" name="formkk">   

在JSP文件中的同一个form表单有多个用来提交表单值的按钮,用户可以通过不同的按钮提交表单,需要调用Action中的不同处理方法,该怎么使用动态方法调用?

问题描述 Action 问题补充:是struts2 怎么修改jsP动态form的action名称呀? 解决方案 function formSubmit(){document.form1.method="post"; var url ="<%=request.getContextPath()%>/hrt/chartSichuan.do?method=recordList"; document.form1.action= url; document.form

jquery把form表单保存成对象传给接口

在模板式开发时,我们form表单可以直接提交到服务器相应的方法,服务器就可以进行处理,但在新的移动端,用的比较多的是以json数据格式的传输,和服务器端的接口交互,这样我们需要把传统的form表单元素组合成我们想要的对象,再传输给接口. 下面是个例子: <form action="" id="form" method="post">  <input type="hidden" name="id&qu

为什么在js代码在html里可以显示,在.net的form表单里就不能显示了呢?急@各位帮帮忙

问题描述 <scriptlanguage="JavaScript"><!--//最上面的头文件BannerADvarbannerAD=newArray();varbannerADlink=newArray();varadNum=0;bannerAD[0]="images/head/head1.jpg";bannerADlink[0]="";bannerAD[1]="images/head/head2.jpg"

jquery form表单序列化为对象的示例代码_jquery

复制代码 代码如下: $.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() { if (o[this.name]) { if (!o[this.name].push) { o[this.name] = [ o[this.name] ]; } o[this.name].push(this.value || ''); } else { o[this.nam