jQuery |使用Span提交表单

jQuery |使用Span提交表单,jquery,Jquery,我希望表单中的span具有与input type=“submit”相同的“提交”行为 请注意,我不能为此使用AJAX,因为第三方提供商不支持AJAX提交,因此存在input type=“submit” 大多数搜索使用submit()方法返回,但这不起作用 HTML <form method="post" action="http://www.google.com"> <input type="text" placeholder="Name"> <s

我希望表单中的span具有与
input type=“submit”
相同的“提交”行为

请注意,我不能为此使用AJAX,因为第三方提供商不支持AJAX提交,因此存在
input type=“submit”

大多数搜索使用
submit()
方法返回,但这不起作用

HTML

<form method="post" action="http://www.google.com">
    <input type="text" placeholder="Name">
    <span class="submit-span">Span submit</span>
    <input type="submit">
</form>
jQuery代码中的
$(this)
不是指表单,而是指
元素本身。因此,您可以使用DOM横向搜索来查找/搜索父
元素:

$(document).ready(function(){
    var spanSubmit = $('.submit-span');

    spanSubmit.on('click', function() {
        $(this).closest('form').submit();
        // Will also work, but might fail if nesting is changed:
        // $(this).parent().submit();
    });
});
$(document).ready(function(){
    var spanSubmit = $('.submit-span');

    spanSubmit.on('click', function() {
        $(this).closest('form')[0].submit();
    });
});
这里有一个例子,我使用了一个警报来监听提交事件,以验证表单提交是否确实被调用:)

您的jQuery代码中的
$(这个)
不是指表单,而是指
元素本身。因此,您可以使用DOM横向搜索来查找/搜索父
元素:

$(document).ready(function(){
    var spanSubmit = $('.submit-span');

    spanSubmit.on('click', function() {
        $(this).closest('form').submit();
        // Will also work, but might fail if nesting is changed:
        // $(this).parent().submit();
    });
});
$(document).ready(function(){
    var spanSubmit = $('.submit-span');

    spanSubmit.on('click', function() {
        $(this).closest('form')[0].submit();
    });
});

下面是一个示例,我使用一个警报来侦听submit事件,以验证是否确实调用了表单提交:)

为什么不在click处理程序中提交表单元素

    $(document).ready(function(){
    var spanSubmit = $('.submit-span');

    spanSubmit.on('click', function() {
        $(this).closest('form').submit();
    });
});

为什么不在单击处理程序中提交表单元素

    $(document).ready(function(){
    var spanSubmit = $('.submit-span');

    spanSubmit.on('click', function() {
        $(this).closest('form').submit();
    });
});

在这里,您正在调用span上的submit事件(它没有这样的事件)

spanSubmit.on('click', function() {
  $(this).submit();
});
您需要在表单上调用此事件:

spanSubmit.on('click', function() {
  $(this).closest('form').submit();
});

在这里,您正在调用span上的submit事件(它没有这样的事件)

spanSubmit.on('click', function() {
  $(this).submit();
});
您需要在表单上调用此事件:

spanSubmit.on('click', function() {
  $(this).closest('form').submit();
});

您应该在
表单
元素上触发本机JavaScript
submit
事件:

$(document).ready(function(){
    var spanSubmit = $('.submit-span');

    spanSubmit.on('click', function() {
        $(this).closest('form').submit();
        // Will also work, but might fail if nesting is changed:
        // $(this).parent().submit();
    });
});
$(document).ready(function(){
    var spanSubmit = $('.submit-span');

    spanSubmit.on('click', function() {
        $(this).closest('form')[0].submit();
    });
});

您应该在
表单
元素上触发本机JavaScript
submit
事件:

$(document).ready(function(){
    var spanSubmit = $('.submit-span');

    spanSubmit.on('click', function() {
        $(this).closest('form').submit();
        // Will also work, but might fail if nesting is changed:
        // $(this).parent().submit();
    });
});
$(document).ready(function(){
    var spanSubmit = $('.submit-span');

    spanSubmit.on('click', function() {
        $(this).closest('form')[0].submit();
    });
});
你能不能用CSS隐藏你的,然后把你的$('span.)链接到$('sb')。点击()?你能不能用CSS隐藏你的,然后把你的$('span.)链接到$('sb')。点击()?