通过表单隐藏域向后台传值

隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的。当表单被提交时,

隐藏域就会将信息用你设置时定义的名称和值发送到服务器上。

  HTML语言创建普通隐藏域  

<input type="hidden" name="hdncount" value="值">   JavaScript语言创建隐藏域   <script>   function add(value)   {   var value= 1   document.all.divHidden.innerHTML="<input type=hidden name=hdncount value=" + value+ ">";   }   </script>   注意:   表单提交时因为隐藏域的ID是一样的,在多个隐藏域时,提交到action或者接收页面的为数组的形式。

 

例子如下:

前台给商品打分后动态设置隐藏域的值,后台获取隐藏域值进行操作

rating.js

/*商品评分效果*/
$(function () {
    //通过修改样式来显示不同的星级
    $("ul.rating li a").click(function () {
        var title = $(this).text().trim();

        alert("您给此商品的评分是:" + title + "分");
       
        //var rate = $("Rate");
        //rate[0].value = title;
        var cl = $(this).parent().attr("class");
        $(this).parent().parent().removeClass().addClass("rating " + cl + "star");
        $(this).blur(); //去掉超链接的虚线框
        //设置隐藏域的值,使用jquery包装集的方法
        $("#Rate").attr("value", title);
        //使用原生js方法
       // document.getElementById("Rate").attributes["value"].value = title;
        return false;
    })
})

                   前台:

                   <div class="askFitem userQuestionsItem">
                        <span class="label userQuestionslabel">描述:</span>
                            <span>尺寸:</span><%=Html.DropDownList("SizeSuitable") %>
                            <span>颜色:</span><%=Html.DropDownList("ColorSuitable") %>
                            <span>质量:</span><%=Html.DropDownList("QuanlitySuitable") %>
                            <span>舒适:</span><%=Html.DropDownList("ComfortSuitable") %>
                    </div>

                    <div >
                        <span class="label userQuestionslabel">给商品评分:</span>
                       
                        <div class="pro_rating">
                            <ul class="rating nostar">
                                <li class="one">
                                <a title="1分"  href="#">1</a>
                                </li>
                                <li class="two">
                                <a title="2分" href="#">2</a>
                                </li>
                                <li class="three">
                                <a title="3分" href="#">3</a>
                                </li>
                                <li class="four">
                                <a title="4分" href="#">4</a>
                                </li>
                                <li class="five">
                                <a title="5分" href="#">5</a>
                                </li>
                            </ul>
                            <input type="hidden" name="Rate" id="Rate" value="" /> <span> (请给出你心中合适的评分)</span>
                        </div>
                       
                    </div>

   后台:

{

            if (Request.Form["Title"] != null && Request.Form["Body"] != null)
            {
                Comment comment = new Comment();
                comment.Title = Request.Form["Title"];
                comment.Body = Request.Form["Body"];
                comment.SizeSuitable = Request.Form["SizeSuitable"];
                comment.ColorSuitable = Request.Form["ColorSuitable"];
                comment.QualitySuitable = Request.Form["QuanlitySuitable"];
                comment.ComfortSuitable = Request.Form["ComfortSuitable"];

                if (Request.Form["Rate"]!=null)
                {
                    Rating rating = new Rating();
                    rating.Rate = Convert.ToDouble(Request.Form["Rate"]);
                    var i = rating.Rate;
                }
            }

}

以上代码为商品评分的部分代码,有问题可以问我,我会尽量回答。

转载于:https://www.cnblogs.com/lushuicongsheng/archive/2011/05/09/2040994.html

在SSM框架中,前台向后台为null的情况可能有多种原因。 首先,在前台页面中,如果用户未填写某个表单字段或者未选择某个选项,那么在提交表单时,该字段的会被设置为null。这种情况下,后台接收到的参数也会是null。为了解决这个问题,可以在后台使用条件判断来处理null,例如可以设置默认或者进行相应的错误提示。 其次,在前台页面中,如果开发者在表单元素的name属性中设置了错误的或者没有设置name属性,那么在提交表单时,后台接收到的参数也会是null。此时,需要检查前台页面代码,确保表单元素的name属性正确设置。 另外,在后台的Controller中,如果接收参数的方式为@RequestParam,那么如果前台未递该参数或者递的参数为null,后台接收到的参数也会是null。为了处理这种情况,可以使用required属性来确保参数的必性,或者使用defaultValue属性来设置默认。 此外,还可能存在数据类型转换错误的情况。如果前台递的参数无法正确转换为后台接收参数的数据类型,例如前台递的是字符串,而后台接收的是整型,那么从前台递的会被解析为null。为了解决这个问题,可以在前台递参数时,做好数据类型的转换,或者在后台进行适当的数据类型转换处理。 综上所述,前台向后台为null的情况在SSM框架中可能由多种原因引起,需要在前台页面和后台代码中进行相应的处理,确保程序的正常运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值