Jquery 无法在页面上找到所有表单
我正在使用asp.net,并在页面上放置了两个引导模式,它们都包含一个表单元素。asp.net还引入了一个表单,它封装了所有内容,因此我在页面上总共应该有3个表单。每当我试图找到第二个表单(DevGroupFormEdit)时,jquery都无法找到它,返回undefined。如果我尝试Jquery 无法在页面上找到所有表单,jquery,asp.net,Jquery,Asp.net,我正在使用asp.net,并在页面上放置了两个引导模式,它们都包含一个表单元素。asp.net还引入了一个表单,它封装了所有内容,因此我在页面上总共应该有3个表单。每当我试图找到第二个表单(DevGroupFormEdit)时,jquery都无法找到它,返回undefined。如果我尝试$(“form”).length,我得到2,它显示一个是asp.net表单(id=aspnetForm),另一个是第三个表单(id=newDevGroupForm)。下面是两个模态,它们包含在同一个父div中:
$(“form”).length,我得到2,它显示一个是asp.net表单(id=aspnetForm),另一个是第三个表单(id=newDevGroupForm)。下面是两个模态,它们包含在同一个父div中:
<div class="modal fade" id="editDevGroupModal" tabindex="-3" role="dialog" aria-hidden="true" data-bind="with: selectedTag">
<div class="modal-dialog">
<form id="DevGroupFormEdit">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Edit Dev Group</h4>
</div>
<div class="modal-body">
<div class="form-horizontal">
<div class="form-group">
<label class="col-md-3 paddingTop3">
Group Name:
</label>
<div class="col-md-9">
<input type="text" id="txtEditName" name="txtEditName" class="form-control" data-bind="value: copyname" />
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" id="btnCancelEdit" class="btn btn-primary btn-sm buttonsize" data-dismiss="modal">Cancel</button>
<button type="button" id="btnSave" class="btn btn-primary btn-sm buttonsize">Save</button>
<div class="marginTop10">
<span class="label-danger" id="lblErrorEdit" style="display: none;">An error occurred while saving this record.</span>
</div>
</div>
</div>
<!-- /.modal-content -->
</form>
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal -->
&时代;
编辑开发组
组名:
取消
拯救
保存此记录时出错。
jquery能够找到的是:
<div class="modal fade" id="newDevGroupModal" tabindex="-2" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<form id="newDevGroupForm">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Create New Dev Group</h4>
</div>
<div class="modal-body">
<div class="form-horizontal">
<div class="form-group">
<label class="col-md-3 paddingTop3">
Group Name:
</label>
<div class="col-md-9">
<input type="text" id="txtNewDevGroupName" name="txtNewDevGroupName" class="form-control" />
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary btn-sm buttonsize" data-dismiss="modal">Cancel</button>
<button type="button" id="btnSaveNew" class="btn btn-primary btn-sm buttonsize">Save</button>
<div class="marginTop10">
<span class="label-danger" id="lblNewError" style="display: none;">An error occurred while creating this record.</span>
</div>
</div>
</div>
<!-- /.modal-content -->
</form>
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal -->
&时代;
创建新的开发组
组名:
取消
拯救
创建此记录时出错。
它们非常相似,只是不确定为什么第二个(id=DevGroupFormEdit)总是返回未定义的,或者为什么$('form')也无法找到它
asp.net还引入了一个表单,它可以包装所有内容
这是你的问题。不能嵌套表单。如果检查元素,您会注意到您的
标记被DOM剥离
唯一的修复方法是不嵌套表单
旁注:在测试中,Firefox和Chrome去掉了一个表单标签,而将另一个表单标签嵌套。IE去掉了一个表单标签,并将第二个表单移到了包装所有内容的“asp.net”表单之外。提供您的javascript代码不确定为什么会出现未定义的情况。我尝试了$(“#DevGroupFormEdit”)
,它的效果很好expected@Pavlo我访问元素的js代码是var form=$(“#DevGroupFormEdit”);当我检查表单是否显示未定义时,我刚刚尝试进行确认,我在我的btnSave click事件上设置了一个断点,当该触发器运行以下命令时:$(“#btnSave”).parent().parent()-->… $(“#btnSave”).parent().parent().parent().parent()-->… 好像你说的表格标签被剥掉了。因为parent().parent().parent()应该把我带到表单标记。我在调试时使用了Chrome的开发工具,看到了您提到的内容。