jQuery - 提交带有 anchor 的表单

标签 jquery forms form-submit

我想提交带有 anchor 而不是按钮的表单。
这是我的表单 html 代码:

<form id="subscribe" action="index.html" method="POST">
<input type="text" name="email" id="email" /><a class="sendmail">Subscribe</a>
</form>

使用这个 jQuery 效果很好:

$('.sendmail').click(function() {
    $('#subscribe').submit();
});

但我想验证输入字段,所以我将其添加到我的 jQuery 代码中:

$('.sendmail').click(function() {       
$('#subscribe').submit(function(e){
    e.preventDefault(); 
    if ($('#email').val() == "") {
        $('.falsification').fadeIn(1000);
    }
    else {          
    $.ajax({
        type: "POST",
        url: "submit.php",
        data: "email="+ $('#email').val(),
        success: function() {
            $('.falsification').hide();
            $('#subscribe').hide();
            $('.verification').fadeIn(1000);}
    });         
    }               
}); 
});

但这行不通。你有结论了吗?

最佳答案

在 .sendmail 点击处理程序中,您设置了表单的提交处理程序,但实际上并不提交它。尝试将该代码 $('#subscribe').submit(function(e){ ... 移到点击处理程序之外,并使用您发布的原始处理程序 $('#subscribe' ).submit();

编辑: 换句话说...

$('#subscribe').submit(function(e){
    e.preventDefault(); 
    if ($('#email').val() == "") {
        $('.falsification').fadeIn(1000);
    }
    else {          
    $.ajax({
        type: "POST",
        url: "submit.php",
        data: "email="+ $('#email').val(),
        success: function() {
            $('.falsification').hide();
            $('#subscribe').hide();
            $('.verification').fadeIn(1000);}
    });         
    }               
});

$('.sendmail').click(function() {       
    $('#subscribe').submit();
});

关于jQuery - 提交带有 anchor 的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9088267/

相关文章:

ruby-on-rails-3 - 样式表错误消息 - bootstrap/rails

javascript - 如何限制除 jpg png 或 gif 之外的图像大小和扩展名

javascript - 如何获取 "a"标签以根据多个下拉框的选择将用户引导至不同页面?

codeigniter - 使用 jquery 从数据库获取单个结果的模型

javascript - 隐藏和显示表单(Angular JS)

Angular react 形式 : get validators from custom component

javascript 在提交时关闭弹出窗口

JavaScript 表单提交()完成

javascript - Php 值在外部 jquery 脚本中不起作用

javascript - 通过 jquery 提交表单删除提交输入变量