相关疑难解决方法(0)

559
推荐指数
4
解决办法
26万
查看次数

jquery获取所有表单元素:input,textarea和select

在jquery中是否有一种简单的方法(没有单独列出它们)来选择所有表单元素和仅表单元素.

我不能使用children()等因为表单包含其他HTML.

例如:

$("form").each(function(){
    $(this, "input, textarea, select");
});
Run Code Online (Sandbox Code Playgroud)

jquery jquery-filter

95
推荐指数
7
解决办法
33万
查看次数

重置表单时,jQuery不显眼的表单验证器不会隐藏错误消息

我正在尝试正确验证并重置表单.验证工作正常 - 成功监视所需的字段.但是,当我重置表单时 - 我只看到输入的红色背景清晰,而不是验证消息.

根据jQuery验证文档:

将输入字段重置为其原始值(需要表单插件),删除指示无效元素的类并隐藏错误消息.

以下是我认为与该问题相关的所有信息.如果您想看到其他任何内容,请告诉我.

这是我在模型中生成DOM元素的方法.此元素需要验证:

//Model.ascx
<div class="detailsRow required">
    <%= Html.LabelFor(model => model.Site) %>
    <%= Html.DropDownListFor(model => model.SelectedSiteID, new SelectList(Model.Site, "Key", "Value"))%>
    <%= Html.ValidationMessageFor(model => model.SelectedSiteID)%>
</div>

//Model.cs
[DisplayName("Site")]
public List<KeyValuePair<int, string>> Site { get; set; }

[Range(0, int.MaxValue, ErrorMessage = "Site required")]
public int SelectedSiteID { get; set; }
Run Code Online (Sandbox Code Playgroud)

站点是一个以值-1开头的选择列表.任何其他选择都是有效的.因此,我验证了从0到最大的范围.

在JavaScript中,当用户按下表单上的"提交"按钮时,我会针对我的表单运行以下代码:

var form = workflowDialogContent.find('form');
$.validator.unobtrusive.parse(form);
//Maintain a reference to the current formValidator to be able to reset.
var formValidator = …
Run Code Online (Sandbox Code Playgroud)

validation asp.net-mvc jquery asp.net-mvc-3

11
推荐指数
1
解决办法
8230
查看次数