我试过以下方式。这很好,可以动态地将隐藏的输入添加到表单。但是如何在控制器操作中使用该隐藏的输入字段,以便我将进行进一步的工作,即在浏览器中呈现动态添加的图像
JQuery Append方法:
<script type="text/javascript">
var alts = "";
var n = 65;
$(document).ready(function () {
$(function () {
$("#selectable_images img").click(function () {
var $this = $(this);
// alts = $(this).attr("alt");
// alert(alts);
if ($this.hasClass('selected')) {
$("#" + this.rel).attr('checked', false);
$this.removeClass('selected');
// $("#postform").remove("");
//$("input[type='hidden']").remove();
//$('input[type="hidden"][value="' + alts + '"]').remove();
alts = $(this).attr("alt");
var ref = "#";
ref += alts.toString();
alert(ref);
$(ref).remove();
} else {
$("#" + this.rel).attr('checked', true);
$this.addClass('selected');
alts = $(this).attr("alt");
alert(alts);
charPos++;
$("#postform").append("<input type='hidden' id='" + alts.toString() + "' value='" + n.toString() + "'/>");
n++;
}
})
})
});
</script>
图片代码:
<div class="selected" id="selectable_images">
<table>
<tr>
<td>
<img src="../../Images/wi0096-48.gif" alt="Image1" class="conversation_img"/>
</td>
<td>
<img src="../../Images/down.png" alt ="image1"/>
</td>
<td>
<img src="../../Images/wi0054-48.gif" alt="Image2" />
</td>
<td>
<img src="../../Images/Photo-icon.png" alt="image3" />
</td>
</div>
形式:
@using (Html.BeginForm("MapIcon","test", FormMethod.Post,new { id = "postform" }))
{
<input type="submit" value="Match"/>
}
答案 0 :(得分:2)
您需要提供隐藏的input
name
属性值。由于name
属性用于标识服务器端的表单发布值。
假设您给它一个值(当您使用javascript创建它时),例如:name="myHiddenInput"
然后,您可以使用以下命令从控制器操作中访问该操作:
string myHiddenInput = Request.Form["myHiddenInput"];