Javascript 点击链接后发送表单
我有一个HTML表单,我想使用链接提交它。表单必须发送到链接的Javascript 点击链接后发送表单,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有一个HTML表单,我想使用链接提交它。表单必须发送到链接的href。这是我的想法: 将单击事件设置为链接标记,该链接执行以下操作: $( "#myLink" ).click(function() { var form = $( "#searchForm" ); form.action=$(this).attr('href'); console.log(form.action); form.submit(); }); 阻止跟随链接的默认操作 通过将操作设置为
href
。这是我的想法:
将单击事件设置为链接标记
,该链接执行以下操作:
$( "#myLink" ).click(function() {
var form = $( "#searchForm" );
form.action=$(this).attr('href');
console.log(form.action);
form.submit();
});
- 阻止跟随链接的默认操作
- 通过将操作设置为链接的href来编辑表单
- 使用jquery submit()函数提交表单
jQuery('.row_header').find('td').each(function(){
var cell = jQuery(this);
cell.find('a').each(function(){
//Get last link in cell. There is only one
linkObject = jQuery(this);
});
//Gets form
var form = jQuery('#searchForm');
if(typeof linkObject !== 'undefined'){
//Get location url for form
var url = linkObject.attr('href');
linkObject.click(function(e){
//Prevent default (following link)
e.preventDefault();
//Set location from link as form action
form.attr('action',url);
//Submits form
form.submit();
});
}
});
HTML:
一个选项是将表单提交按钮的样式设置为链接。你可以在这里看到: 或者让链接使用javascript提交表单。就像这里:
两者都可以满足您的需要。一个选项是将表单提交按钮的样式设置为链接。你可以在这里看到: 或者让链接使用javascript提交表单。就像这里:
这两个函数都可以满足您的需要。JQuery submit函数将处理程序绑定到submit事件
例如,您可以使用AJAX发送数据,JQuery提交函数将处理程序绑定到提交事件
例如,您可以使用AJAX发送数据如果要在单击链接时将表单的
操作设置为链接的href
,请尝试以下操作:
$( "#myLink" ).click(function() {
var form = $( "#searchForm" );
form.action=$(this).attr('href');
console.log(form.action);
form.submit();
});
这是一个。如果要在单击链接时将表单的操作设置为链接的href
,请尝试以下操作:
$( "#myLink" ).click(function() {
var form = $( "#searchForm" );
form.action=$(this).attr('href');
console.log(form.action);
form.submit();
});
这是一个。您可以看到链接对象的定义位置。在(
)
中有linkObject
你定义这个变量了吗
您使用了一个
元素,可以将您带到链接。因此,您必须使用如下开头的属性data-
,您可以使其看起来像data-href1='your link'
ard,并将属性href
设置为
您的元素应该是这样的:
<a href='#' data-href1 ='your link'> click </a>
您可以看到链接对象的定义位置。在(
)
中有linkObject
你定义这个变量了吗
您使用了一个
元素,可以将您带到链接。因此,您必须使用如下开头的属性data-
,您可以使其看起来像data-href1='your link'
ard,并将属性href
设置为
您的元素应该是这样的:
<a href='#' data-href1 ='your link'> click </a>
我找到了一个解决方案。我仍然不知道为什么,但出于某种原因。submit()不调用submit函数。我的解决方法是找到“提交”按钮并触发对该按钮的单击:
form.find('#submitId').trigger('click');
代替
form.submit()
及
我找到了解决办法。我仍然不知道为什么,但出于某种原因。submit()不调用submit函数。我的解决方法是找到“提交”按钮并触发对该按钮的单击:
form.find('#submitId').trigger('click');
代替
form.submit()
及
你不应该使用“#”,因为它们可能会迫使网页进入顶部。“href='javascript:void(0)'”更安全;在第2行上面,但我添加了它,但它不起作用。我希望避免更改我的html。将其留空不是好的做法。如果它是空白的,那为什么要写呢?我在寻找一种不涉及更改HTML的解决方案。你不应该使用“#”,因为它们可能会迫使网页进入顶部。“href='javascript:void(0)'”更安全;在第2行上面,但我添加了它,但它不起作用。我希望避免更改我的html。将其留空不是好的做法。如果它是空白的,那为什么要写呢?我在寻找一个不涉及改变HTMLhank you的解决方案。控制台记录正确的url,以便设置操作。但是,表单仍然没有提交。没有,但是问题在于我将href更改为的url,并且表单提交正确。请在本地查看并使用您的url进行尝试,表单将正常工作。我没有收到错误。但是它只是跟随链接,不发送postdata。您只需要将method=“POST”
添加到表单中。我已经添加了,只是在示例中忘记了。没关系。我将form=“post”添加到您的fiddle中,并在一个只有var_dump($_post)的站点上将位置更改为我的本地地址,然后它打印一个空数组。它不发送邮件数据。谢谢。控制台记录正确的url,以便设置操作。但是,表单仍然没有提交。没有,但是问题在于我将href更改为的url,并且表单提交正确。请在本地查看并使用您的url进行尝试,表单将正常工作。我没有收到错误。但是它只是跟随链接,不发送postdata。您只需要将method=“POST”
添加到表单中。我已经添加了,只是在示例中忘记了。没关系。我将form=“post”添加到您的fiddle中,并在一个只有var_dump($_post)的站点上将位置更改为我的本地地址,然后它打印一个空数组。它不发送帖子数据。我不想使用ajax,我想页面刷新并提交表单,就像按按钮一样。我不想使用ajax,我想页面刷新并提交表单,就像按按钮一样。我想使用普通链接,但重新设置按钮样式。第二个是我在这里要做的,添加一个submit()。然而,我不能让它工作我想使用一个正常的链接,但重新设计一个按钮。第二个是我在这里要做的,添加一个submit()。然而,我无法让它工作