我有2个或更多表单,其中包含不同的隐藏值,如:
<div class="comment-body">
<% using (Html.BeginForm(Model.ActionName, "Home", Model.RouteValues, FormMethod.Post, new { id = "FormAddComment", name = "FormAddComment" }))
{ %>
<% = Html.ValidationSummary(false) %>
<fieldset>
<% if (Model.CommentParentID != null)
{
htmlAttributes = new { placeholder = "Add a reply...", id = "Comment" };
postButtonTitle = "Post Reply";
%>
<input type="hidden" name="CommentParentID" id="CommentParentID" value="<% = Model.CommentParentID.ToString() %>" />
<%} %>
<% = Html.TextAreaFor(model => model.Comment, htmlAttributes)%>
<% = Html.ValidationMessageFor(model=>model.Comment) %>
<input type="submit" value="<% = postButtonTitle %>" class="small blue awesome noborder"
border="0" />
<% if (Model.CommentParentID != null)
{%>
<a class="hide-sub-comment" href="javascript:void(0);">Cancel</a>
<%} %>
</fieldset>
<%} %>
</div>
问题是当我尝试验证输入的值时,我得到了两次验证器消息。当我添加文本并再次单击“发布”时 - 隐藏了一个验证器,但页面尚未生效。为什么以及如何解决它? 感谢
答案 0 :(得分:0)
自您更改问题后修改答案。
你可以做这样的事情
<script type="text/javascript">
$(document).ready(function () {
$("#NotHiddenComment").change(function () {
var temp = $("#NotHiddenComment").val();
$("#HiddenCommentID").text(temp);
});
});
</script>
这将确保两个字段具有相同的值,因此您不会收到验证错误。