Bootstrap折叠功能从验证触发-如何避免
Bootstrap collapse function triggers from validation - How to avoid?
我在基于Symfony 2.7的WebApp中使用Bootstrap。现在,在Form
:中使用Bootstrap collapse
函数时,我遇到了一个奇怪的问题
collapse
函数用于切换DOM对象的可见性。如果使用此函数切换Form
中的元素(例如div
容器),则会触发表单验证。
当我在服务器上运行我的代码(见下文)时,只要使用按钮切换容器,就会弹出一条"This field is required"消息。
这在这里似乎不起作用。下面的Snippet工作得很好但是,当在w3Schools.com上运行Snippet时,您会发现问题。单击此链接可访问其中一个示例。R用我的Snippet替换示例代码并运行它。
在我的服务器上效果是一样的:点击切换按钮将触发表单验证。
这只蜜蜂怎么会?这里的Snippet(工作正常)和我的服务器或w3Schools.com上的Snippe(不工作)有什么区别?
如何避免表单验证
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<form action="" method="post" name="custom">
<div class="form-group">
<label class="control-label required" for="name">Name</label>
<input id="name" class="form-control" type="text" required="required" name="custom[name]">
</div>
<button class="btn btn-success" data-target="#toggleContainer" data-toggle="collapse" aria-expanded="true">Toggle</button>
<div id="toggleContainer" aria-expanded="true" style="">
1</br>
2</br>
3</br>
</div>
</form>
</div>
</body>
</html>
添加按钮属性type="button"
如果默认情况下未指定,则它将作为type="submit"
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<form action="" method="post" name="custom">
<div class="form-group">
<label class="control-label required" for="name">Name</label>
<input id="name" class="form-control" type="text" required="required" name="custom[name]">
</div>
<button type="button" class="btn btn-success" data-target="#toggleContainer" data-toggle="collapse" aria-expanded="true">Toggle</button>
<div id="toggleContainer" aria-expanded="true" style="">
1</br>
2</br>
3</br>
</div>
</form>
</div>
</body>
</html>
相关文章:
- 正在验证8个真/假复选框或复选框中的2个
- 借助asp.net验证或java脚本对多个文本进行验证
- 如何将函数包装在函数中以避免代码重复
- jQuery自定义验证比较多个输入的序列
- 使用html中的外部javascript进行数据验证
- 如何使用jquery Validation验证Formspread
- 如何使用javascript验证在表单输入中避免负值、浮点值和十进制值
- asp validationExpression中用于验证表达式的代码,使我们能够避免单词末尾的任何let(d)
- 避免在字段验证失败时调用 AJAX onsuccess
- 如何避免客户端验证中的冗余条件
- 语义 UI 避免对某些点击事件进行触发器表单验证
- 角度身份验证:避免对不同路由进行多重解析
- Angular:无法避免在验证失败时提交表单
- Remote: true形式避免js字段验证
- 如何避免或禁用表单提交时,有验证错误使用Jquery验证器
- Php表单验证的最小字符需要避免空白
- Bootstrap折叠功能从验证触发-如何避免
- 对Twitter API进行身份验证调用,以避免速率限制
- 需要regex进行表单验证,以避免出现多个特殊字符
- 如果用户验证失败,如何避免JavaScript清除表单数据