如何使按钮CSS更改只有IF表单字段有效
How to make a button CSS change only IF form fields are valid
目前我的网站只有一个表单和一个按钮。按钮包含一个纸飞机svg和一些javascript,当按下按钮时,飞机会飞起来。
我需要什么:
- 要起飞的飞机(CSS更改)仅IF以上表单字段有效(姓名、电子邮件、消息)
- 在提交表单之前添加1秒延迟
现在,按钮正在更改,即使字段中写着"此字段是必需的"并且表单尚未提交。
这是我的网站的演示点击按钮查看。
我知道p
标签不应该在button
标签中,但除非出于某种原因使用p
标签,否则按钮中的文本不会更改(飞机不会飞行)。如果我删除"p"从index.js$('button p').text(function(i, text)
内的这条线看不到飞机飞走
HTML:
<form method="post" action="submit.php" class="signin">
<input name="name" id="name" type="text" class="feedback-input" placeholder="Your Name" />
<input name="email" id="email" type="text" class="feedback-input" placeholder="Your Email" required pattern="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:'.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?'.)+(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)"/>
<textarea name="message" id="message" class="feedback-input" placeholder="Your Comment or Question" required></textarea>
<button>
<p>CLICK HERE</p>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
<path id="paper-plane-icon" d="M462,54.955L355.371,437.187l-135.92-128.842L353.388,167l-179.53,124.074L50,260.973L462,54.955z
M202.992,332.528v124.517l58.738-67.927L202.992,332.528z"></path>
</svg>
</button>
<script src='http://codepen.io/assets/libs/fullpage/jquery.js'></script>
<script src="js/index.js"></script>
</form>
index.js是:
$('button').click(function() {
$(this).toggleClass('clicked');
$('button p').text(function(i, text) {
return text === "Why sent??" ? "Why Sent??" : "Why Sent??";
});
});
如何使飞机在验证/提交后仅起飞_延迟1秒?感谢
我建议您使用JS验证库作为HTML5验证的后备(jQuery Validation非常简洁)。
无论哪种方式,都要侦听表单上的提交事件(如果使用$.validation,请使用submitHandler配置键)。
$('form#youId').on('submit', function(e){
e.preventDefault();
setTimeout(function(){
// your fliying animation
// when your flying animation ENDS
e.target.submit(); // this SENDS the actual form.
}, 1000);
});
编辑
请参阅本工作示例。
演示备注
- 您的演示没有包含jQueryValidatejs文件,因此在.Validate()方法调用时失败
- 此外,您的演示程序缺少
});
,导致Unexpected End of Input
错误
新的演示使用自定义事件在动画结束后触发表单提交(实际上是在触发后1秒)。
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- Jquery validation if checkbox checked text box得到class=“”;表单输
- 带有多个if语句的javascript表单验证
- Javascript表单if have alert停止重定向save.php
- 为什么提交带有 if 条件的表单为假
- 在 JS 中使用 if else 语句来检查 HTML 表单元素是否等于某个数字
- 根据同一页面上的 if 条件禁用/启用 PHP 中的表单值
- 触发链接以在 If 语句中选择表单时触发
- 如何将 IF 语句应用于表单的<选择>关系
- 简单的if/else表单检查(应该很简单)
- 在 Ruby on Rails 中使用带有 If 语句的 Select Option 表单
- 使用if/else根据名称向表单添加不同的图像
- jQuery表单提交没有't似乎触发if语句
- 在if-else中使用Jquery表单成功值
- 如何在select表单中使用if-else语句
- 表单验证-如何使用If和Else If
- Django/Python控制:"if form.is_valid():“如果表单有输入类型button,则等
- If else语句在web表单中以javascript或HTML计算分数
- Javascript变量和基于HTML表单的If函数
- 表单提交,即使它被封装在if语句中,并且不满足条件