在我的Form 3字段中包括一个hidden。,其余值在controller中完美地返回,但是hidden字段中的值未获取。 隐藏字段中的值是使用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");
}
答案 0 :(得分:0)
getElementsByClassName返回一个数组。
function func(vd){
document.getElementsByClassName("hiddenid")[0].value = vd;
}
答案 1 :(得分:0)
由于您正在使用byclass,因此它会返回一个数组。试试这个
document.getElementsByClassName("hiddenid")[0].value = vd;
但是,如果您有多种产品,那么您是否有一个更好的添加到购物车按钮的选项,可以更好地使用vid-unique_number之类的ID
答案 2 :(得分:0)
getElementsByClassName
返回一个数组。使用数组索引访问单个元素。
document.getElementsByClassName("hiddenid")[0].value = vd;
您可以使用className
代替id
,因为vid
出现在您的隐藏字段中,即document.getElementsById("vid").value = vd;
。
document.querySelector
或者您可以使用document.querySelector('.hiddenid').value = vd;
来检索第一个匹配元素。
document.querySelector('#vid').value = vd;
或
private OnFragmentInteractionListener mListener;
public void onNoData() {
if (mListener != null) {
mListener.onFragmentInteraction();
}
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof OnFragmentInteractionListener) {
mListener = (OnFragmentInteractionListener) context;
} else {
throw new RuntimeException(context.toString()
+ " must implement OnFragmentInteractionListener");
}
}
@Override
public void onDetach() {
super.onDetach();
mListener = null;
}
public interface OnFragmentInteractionListener {
void onFragmentInteraction();
}