代码之家  ›  专栏  ›  技术社区  ›  Paritosh

无法找到页面上的所有表单

  •  0
  • Paritosh  · 技术社区  · 11 年前

    我正在使用asp.net,并在页面上放置了两个引导模式,其中都包含一个表单元素。asp.net还引入了一个表单,它包含了所有内容,因此页面上总共应该有3个表单。每当我试图找到第二个表单(DevGroupFormEdit)时,jquery都无法找到它,返回undefined。如果我尝试 $("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">&times;</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">&times;</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)始终返回undefined,或者为什么$('form')也无法找到它。

    1 回复  |  直到 11 年前
        1
  •  1
  •   MikeSmithDev    11 年前

    “asp.net还带来了一个表单,它可以包装所有内容”

    这是你的问题。不能嵌套表单。如果您检查元素,您将注意到 <form> 标记被DOM剥离。

    修复的唯一方法是不嵌套表单。

    附带说明:在测试中,Firefox和Chrome去掉了一个表单标记,而留下了另一个嵌套。IE去掉了一个表单标签,并将第二个表单移到了“asp.net”表单之外,该表单正在包装所有内容。