我们可以使用 jquery 验证不包含表单标签的 html 页面字段吗?

Posted

技术标签:

【中文标题】我们可以使用 jquery 验证不包含表单标签的 html 页面字段吗?【英文标题】:Can we validate a html page fields which does not contain form tag using jquery? 【发布时间】:2011-04-21 16:52:08 【问题描述】:

这是我的 html 页面的代码 sn-p 我可以验证使用 jquery 指定的两个文本字段吗,我没有在我的 html 页面中使用任何表单标签

<div id="panel1">
<fieldset id="fieldset1"> <legend>Registration Details:</legend>
                Name of business:<br/>
                  <input size="30" type="text" id="businessname"/><br/>
                Keywords :<br>
                  <input size="30" type="text" id="keyword"/><br/>
</feildset>
</div>

【问题讨论】:

【参考方案1】:

您总是可以通过它们的 ID 获取字段,它们没有被包裹在表单中这一事实没有任何区别:

$('#businessname')

但是,它不是有效的 HTML,您确实应该在表单元素周围使用 &lt;form&gt;

你为什么不使用一个?

【讨论】:

我使用它们的 div id 提取文本框的值并将这些值传递给 web 服务,我没有在我的代码中使用任何表单标签 $('#Addresslisting').click(function() var businessname = ($("#businessname").val()); var jsonobject = "\"businessname\": \"" + businessname + "\""; $.ajax( type: "POST", url: "/blockseek30-9-2010/AfterLogin.asmx/SubmitList1", data: jsonobject, contentType: "application/json ; charset=utf-8", 成功: ajaxCallSucceed, dataType: "json", 失败: ajaxCallFailed ); ); 不使用有效的 HTML 会迫使浏览器进入“怪癖”模式,因此即使您在使用 XHR 时不将它用于您的应用程序,添加它也是一个好主意。如果您检查 Chrome 的控制台或例如 IE 的解释源,您会看到这些浏览器会移动并插入元素以使内容有效,因此它们可以呈现它们原本无法呈现的东西。 @mahesh - 只需将表单元素包裹在项目周围,以确保您的标记有效。浏览器可能会使用无效的 HTML 做一些奇怪的事情。【参考方案2】:

对于语义和有效标记,您确实需要一个&lt;form&gt; 标记。毫无疑问,它不在那里。

【讨论】:

以上是关于我们可以使用 jquery 验证不包含表单标签的 html 页面字段吗?的主要内容,如果未能解决你的问题,请参考以下文章

jquery+ajax验证不通过也提交表单问题处理

jquery验证动态表单输入的插件不起作用

jquery使用案例

与 <from:form> 标签一起使用时,Jquery 验证插件不显示消息?

jquery表单验证 自定义函数使用

在 ASP.NET 控件上使用 ajax/jQuery 表单验证