我目前使用jQuery创建订阅表单。我的问题是我想让这个表单在用户点击“SUBSCRIBE”按钮后保持在同一页面中,并且当过程成功时,按钮“SUBSCRIBE”上的文本变成“SUBSCRIBED”。如何在提交表单后留在同一页
下面是代码:
HTML:
<form action="http://bafe.my/sendy/subscribe" class="subcribe-form" accept-charset="UTF-8" data-remote="true" method="post">
<input type="hidden" name="authenticity_token" />
<input type="hidden" name="list" value="ttx7KjWYuptF763m4m892aI59A" />
<input type="hidden" name="name" value="Landing" />
<div class="form-group">
<div class="input-group">
<input type="email" name="email" class="form-control" placeholder="Masukkan email anda" />
<span class="input-group-btn"><button type="submit" class="btn btn-primary">SUBSCRIBE<i class="fa fa-send fa-fw"></i></button></span>
</div>
</div>
</form>
的jQuery:
$(".subcribe-form").submit(function(){
var validEmail = true;
$("input.form-control").each(function(){
if ($.trim($(this).val()).length == 0){
$(this).addClass("has-error");
validEmail = false;
} else{
$(this).removeClass("has-error");
}
});
if (!validEmail) alert("Please enter your email to subscribe");
return validEmail;
});
是不是有点怪更改为“订阅”按钮上的文字?因为它仍然是一个按钮,所以如果用户点击它会发生什么?按钮文本应该是一个动词。无论如何,不是提交表单,您可以发出Ajax请求,然后在Ajax完成后将按钮文本更新为“已订阅”。 – nnnnnn
当使用Ajax时,一定要将按钮的类型从“提交”更改为“按钮” – mvermand