点击链接后发送表单

14 浏览
0 Comments

点击链接后发送表单

我有一个 HTML 表单,我想使用链接来提交它。表单必须发送到链接的 href 属性中。这是我的想法:

将点击事件设置到链接的标签上,执行以下操作:

  • 阻止默认操作,即跟随链接。
  • 通过将 action 设置为链接的 href,编辑表单。
  • 使用 jQuery 的 submit() 函数提交表单。

我正在寻找一种解决方案,不需要更改我的 HTML,只需要使用 JavaScript。

我尝试了这个,但它不起作用。这是我的代码:

JavaScript:

jQuery('.row_header').find('td').each(function(){
    var cell = jQuery(this);
    cell.find('a').each(function(){
        //获取单元格中的最后一个链接。只有一个链接
        linkObject = jQuery(this);
    });     
    //获取表单
    var form = jQuery('#searchForm');
    if(typeof linkObject !== 'undefined'){
        //获取表单的位置 URL
        var url = linkObject.attr('href');
        linkObject.click(function(e){
            //阻止默认操作(跟随链接)
            e.preventDefault(); 
            //将链接的位置设置为表单的动作
            form.attr('action',url);
            //提交表单
            form.submit();
        });
    }
});

HTML:

链接

0
0 Comments

问题出现的原因是想要使用一个普通的链接来提交表单,但是添加了submit()方法后无法正常工作。

解决方法是使用JavaScript来实现链接提交表单的功能。可以参考第二个链接中的方法,通过在链接的点击事件中调用表单的submit()方法来提交表单。

以下是解决方法的代码示例:

Submit form

以上代码中,我们首先给表单添加了一个id属性,这样我们就可以通过JavaScript获取到表单元素。然后我们在链接的onclick事件中调用了表单的submit()方法来提交表单。最后的return false;是为了阻止链接的默认行为,即不跳转到链接的目标页面。

通过以上方法,我们可以在点击链接时触发表单的提交操作,实现使用普通链接来提交表单的效果。

0
0 Comments

问题的出现的原因:

代码中的链接对象(linkObject)未被定义。

解决方法:

1. 在第2行的上方添加 var linkObject; 来定义链接对象。

2. 更改 a 元素的属性,使其具有 data-href1=' your link' 属性,并将 href 属性设置为 #。修改后的 a 元素应该如下所示:

<a href='#' data-href1 ='your link'> click </a>

3. 避免使用 #,因为它可能会强制网页返回顶部。可以使用 href='javascript:void(0)' 来替代。

4. 如果不想更改HTML,可以将链接对象定义在第2行的上方,但如果这样做仍然无效,则需要考虑修改HTML。

最终解决方案应该是将链接对象定义在代码中,并将 a 元素的属性修改为正确的格式,使其能够在点击后发送表单。

0
0 Comments

问题出现的原因是点击链接后表单没有提交数据。解决方法是将表单的method属性设置为"POST"。

0