首页 > 解决方案 > 为什么不是单个表单元素在控制器中没有返回值?

问题描述

在我的 Form 3 字段中,包括一个隐藏的。其余的值在控制器中完美返回,但是隐藏字段中的值没有得到。隐藏字段中的值是使用 java 脚本从锚标记传递的。 隐藏字段的值是从这里传递的

<a href="#" onclick="func(@c.vid)"  data-toggle="modal" data-target="#myModal3" class="modalLink">

传递值的Javascript代码是

function func(vd){
        document.getElementsByClassName("hiddenid").value = vd;


    }

形式看起来像

<form action="/Home/AddToCart" method="post">
                                <input type="hidden" id="vid" name="vid" class="hiddenid" />
                            <div class="styled-input agile-styled-input-top">

                                <input type="text" placeholder="Name" name="name" id="name"required>
                            </div>
                            <div class="styled-input">

                        <input type="text" placeholder="Star Name" onclick="showsss()" name="star" id="star" required>
                            </div>

                            <input type="submit"   value="Add To Cart">

                                </form>

控制器

[HttpPost]
         public ActionResult AddToCart(cart data)
         {
             userService.AddToCart(data);
             ViewBag.p = userService;
             return RedirectToAction("Temple");
         }

该值完美地传递到了隐藏字段。我使用警报框进行了检查。我附上了控制器中内容的屏幕截图。 截图在这里

标签: javascriptc#asp.net-mvc-4stored-procedures

解决方案


getElementsByClassName 返回一个数组。

    function func(vd){
        document.getElementsByClassName("hiddenid")[0].value = vd;
    }

推荐阅读