为什么不是单个表单元素在控制器中不返回值?
Why isn't a single form element is not returning value in the controller?
在我的 Form 3 字段中,包括 hidden.and 其余值在控制器中完全 returns,但隐藏字段中的值未获取。
隐藏字段中的值是使用 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");
}
值正在传递到隐藏字段 perfectly.i 使用警报 box.am 检查并附上控制器中内容的屏幕截图。
getElementsByClassNamereturn一个数组。
function func(vd){
document.getElementsByClassName("hiddenid")[0].value = vd;
}
由于您正在使用 byclass 它的 return 数组。试试这个
document.getElementsByClassName("hiddenid")[0].value = vd;
但是如果你有多个产品,那么你有一个添加到购物车按钮更好地使用像 vid-unique_number
这样的 id
getElementsByClassName
returns 一个数组。使用数组索引访问单个元素。
document.getElementsByClassName("hiddenid")[0].value = vd;
您可以使用 id
而不是 className
,因为它存在于您的隐藏字段中 i:e vid
.
document.getElementsById("vid").value = vd;
或者您可以使用 document.querySelector
,它将检索第一个匹配元素。
document.querySelector('.hiddenid').value = vd;
或
document.querySelector('#vid').value = vd;
在我的 Form 3 字段中,包括 hidden.and 其余值在控制器中完全 returns,但隐藏字段中的值未获取。 隐藏字段中的值是使用 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");
}
值正在传递到隐藏字段 perfectly.i 使用警报 box.am 检查并附上控制器中内容的屏幕截图。
getElementsByClassNamereturn一个数组。
function func(vd){
document.getElementsByClassName("hiddenid")[0].value = vd;
}
由于您正在使用 byclass 它的 return 数组。试试这个
document.getElementsByClassName("hiddenid")[0].value = vd;
但是如果你有多个产品,那么你有一个添加到购物车按钮更好地使用像 vid-unique_number
这样的 idgetElementsByClassName
returns 一个数组。使用数组索引访问单个元素。
document.getElementsByClassName("hiddenid")[0].value = vd;
您可以使用 id
而不是 className
,因为它存在于您的隐藏字段中 i:e vid
.
document.getElementsById("vid").value = vd;
或者您可以使用 document.querySelector
,它将检索第一个匹配元素。
document.querySelector('.hiddenid').value = vd;
或
document.querySelector('#vid').value = vd;