<form id='SomeForm'>..</form>
如果我们在严格的 DOCTYPE中有一个没有 action 属性的表单标签,渲染器将忽略该表单标签,并且 IE 的 F12 开发工具和 FF 的 Firebug 将不会在渲染的 DOM 中显示该表单元素。但原始 HTML(查看源代码)会显示它。
我试图通过 jQuery 访问表单,但$('#SomeFrom')
返回一个空数组[]
。
如果我将 DOCTYPE 更改为过渡,它可以工作。但是我的应用程序范围的设置需要严格的 DOCTYPE。有没有办法通过 JavaScript 访问页面的原始(源)HTML?
笔记:
我正在使用 SharePoint 2010 CMS。当我编辑页面的 HTML 并保存它时,它会截断操作部分。基本上,它不是在其中创建表单的推荐方式,但我已经创建了很多带有表单的页面。现在我需要一些脚本来使用相同的处理程序来验证、字符串化和 ajaxify 它们。
同样使用这种方法,我可以将表单字段包装在一个 div 中并进行字符串化并像这样提交它们:
JSON.stringify($("div#SomeForm input, div#SomeForm textarea, div#SomeForm select").serializeObject())
但是如果我能够访问表单,代码会更漂亮,同样我也可以使用 jQuery 的验证扩展。