如何通过 <a href...>...</a> 链接进行提交?
Posted
技术标签:
【中文标题】如何通过 <a href...>...</a> 链接进行提交?【英文标题】:How to make a submit out of a <a href...>...</a> link? 【发布时间】:2010-09-21 11:05:07 【问题描述】:我得到一张图片,该图片使用<a href="..."> <img ...> </a>
链接到另一个页面。
我怎样才能让它像按钮<input type="submit"...>
一样发布?
【问题讨论】:
【参考方案1】:这可能是一个方便的补充,可以从额外的按钮更改发布网址,以便您可以使用不同的按钮发布到不同的网址。这可以通过设置表单的“动作”属性来实现。这是使用 jQuery 时的代码:
$('#[href button name]').click(function(e)
e.preventDefault();
$('#[form name]').attr('action', 'alternateurl.php');
$('#[form name]').submit();
);
action-attribute 在旧 jQuery 版本中存在一些问题,但在最新版本中你会很好。
【讨论】:
$('#[form name]') 应该是 $('form[name=formname]');和 #[href] 的东西应该完全不同【参考方案2】:我们在表单上一直用这个替换提交按钮:
<form method="post" action="whatever.asp">
<input type=...n
<input type="image" name="Submit" src="/graphics/continue.gif" align="middle" border="0" >
</form>
点击图片提交表单。希望对您有所帮助!
【讨论】:
这个答案与接受的答案有什么不同吗?我们希望避免在 SO 上给出“同样的东西也适用于我”风格的答案。【参考方案3】:使用 JQuery 库 closest() 和 submit() 按钮的更通用的方法。 在这里您不必指定要提交的表单,提交它所在的表单。
<a href="#" onclick="$(this).closest('form').submit()">Submit Link</a>
【讨论】:
不错的答案,但可能对推荐的做法有所顾虑...***.com/questions/1070760/… 只要确保在需要向上移动 DOM 时使用最接近 () 并在需要向下遍历 DOM 时使用 find() 我会在onclick
的末尾添加一个return false;
以避免滚动到页面顶部。【参考方案4】:
<html>
<?php
echo $_POST['c']." | ".$_POST['d']." | ".$_POST['e'];
?>
<form action="test.php" method="POST">
<input type="hidden" name="c" value="toto98">
<input type="hidden" name="d" value="toto97">
<input type="hidden" name="e" value="toto aaaaaaaaaaaaaaaaaaaa">
<a href="" onclick="document.forms[0].submit();return false;">Click</a>
</form>
</html>
So easy.
So easy.
【讨论】:
【参考方案5】:不要忘记“按钮”元素,它可以处理更多的 HTML...
【讨论】:
【参考方案6】:like this page 的东西?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>BSO Communication</title>
<style type="text/css">
.submit
border : 0;
background : url(ok.gif) left top no-repeat;
height : 24px;
width : 24px;
cursor : pointer;
text-indent : -9999px;
html:first-child .submit
padding-left : 1000px;
</style>
<!--[if IE]>
<style type="text/css">
.submit
text-indent : 0;
color : expression(this.value = '');
</style>
<![endif]-->
</head>
<body>
<h1>Display input submit as image with CSS</h1>
<p>Take a look at <a href="/2007/07/26/afficher-un-input-submit-comme-une-image/">the related article</a> (in french).</p>
<form action="" method="get">
<fieldset>
<legend>Some form</legend>
<p class="field">
<label for="input">Some value</label>
<input type="text" id="input" name="value" />
<input type="submit" class="submit" />
</p>
</fieldset>
</form>
<hr />
<p>This page is part of the <a href="http://www.bsohq.fr">BSO Communication blog</a>.</p>
</body>
</html>
【讨论】:
【参考方案7】:<input type="image" name="your_image_name" src="your_image_url.png" />
这将在提交表单时发送your_image_name.x
和your_image_name.y
值,它们是用户单击图像位置的x 和y 坐标。
【讨论】:
【参考方案8】:您似乎正在尝试使用图像来提交表单...在这种情况下使用
<input type="image" src="...">
如果你真的想使用锚点,那么你必须使用 javascript:
<a href="#" onclick="document.forms['myFormName'].submit(); return false;">...</a>
【讨论】:
原来旧 MS 办公室的剪辑一直是 Greg!【参考方案9】:未经测试/可能会更好:
<form action="page-you're-submitting-to.html" method="POST">
<a href="#" onclick="document.forms[0].submit();return false;"><img src="whatever.jpg" /></a>
</form>
【讨论】:
【参考方案10】:input type=image 会为你做这件事。
【讨论】:
以上是关于如何通过 <a href...>...</a> 链接进行提交?的主要内容,如果未能解决你的问题,请参考以下文章