【发布时间】:2015-10-21 22:50:05
【问题描述】:
我试图在验证并单击按钮后在按钮上运行 JavaScript 代码。我可以让代码在没有任何验证的情况下运行,但是当我在第 2 行添加“如果有效”时,JavaScript 根本不会运行,表单也不会提交。
这是正常工作的 JS,除了每次单击按钮时都会运行。我只想在表单有效时运行它。
<script>
$('.subscribe-form-submit').click(function(){
var $this = $(this);
$(this).hide();
$(this).after('<input type="button" disabled="disabled" class="btn btn-lg btn-primary subscribe-form-submit" value="Thanks!" />');
return true;
}
);
</script>
我试图添加一个如果有效的选择器,但是表单根本没有提交并且 JS 没有运行:
<script>
$('.subscribe-form-submit').click(function(){
if($('_form_1228').valid()) {
var $this = $(this);
$(this).hide();
$(this).after('<input type="button" disabled="disabled" class="btn btn-lg btn-primary subscribe-form-submit" value="Thanks!" />');
return true;
}
});
</script>
这是我的表单,但我相信您需要的唯一信息是 ID 是“_form_1228”。
<form action='excluded' method='post' id='_form_1228' class="subscribe-form wow fadeIn" data-wow-duration="1s" role="form" accept-charset='utf-8' enctype='multipart/form-data' target="_blank">
<div class="form-validation alert"><!-- Validation Message here --></div>
<div class="form-group subscribe-form-input">
<input type='hidden' name='f' value='1228'>
<input type='hidden' name='s' value=''>
<input type='hidden' name='c' value='0'>
<input type='hidden' name='m' value='0'>
<input type='hidden' name='act' value='sub'>
<input type='hidden' name='nlbox[]' value='20'>
<div id='compile999'>
<input type="email" name="email" class="subscribe-form-email form-control form-control-lg" placeholder="Enter your email address" autocomplete="off" />
</div>
<div id='_field1000'>
<div id='compile1000'>
<button class="subscribe-form-submit btn btn-black btn-lg" type="submit" data-loading-text="Loading...">Subscribe</button>
</div>
</div>
</div>
谢谢!
【问题讨论】:
-
您的 JS 正在尝试验证名为
_form_1228的标签,而不是带有id=_form_1228的表单。你的选择器应该是if ($('#_form_1228').valid()) {。 -
欢迎来到 StackOverflow。发布一个会随着时间而改变的网站的链接将使未来的访问者无法使用这个问题。相反,最好在 sn-p 中发布minimal, complete, and verifiable example。
-
感谢@DrewGaynor 我更新了代码并删除了指向我网站的链接。
-
@PaulRoub 你好,保罗。我做了你的改变,但它没有用,还有什么额外的想法吗?当我现在单击该按钮时,它不会执行任何操作。
标签: javascript jquery html validation