在 href 内部的按钮

3

这样写可以吗?

<a href="add-lead-new.php" target="rightframe"><input type="button" value="New booking" /></a>

链接应该看起来像一个按钮,但它应该在页面的右侧打开。如果这样不对,还有其他方法吗? 上面的代码运行良好。我只是不知道这是否是正确的做法。 谢谢

从技术上讲,除了<a>标签之外,你可以在<a>标签中添加任何内联元素,但据我所知,我不会这样做,因为我不确定不同的用户代理会如何反应,甚至是否完全相同。我只会将一些<span>标签样式设置成按钮的样子。 - Wrikken
6个回答

7

根据HTML5规范,不允许这样做。

按钮可能会显示出来,但由于违反了规范,它可能无法按照您的意愿进行操作。您应该避免这样做。


最可靠的方法是创建一个<form>,将target指向该页面,并使按钮提交该表单,以便将用户带到页面。
<form action="add-lead-new.php"><input type="submit" value="New Booking" /></form>

问题是我想让页面在正确的框架中打开。在 href 中,我可以将其编写为 target="rightframe",但我不知道如何在按钮中实现。 - Phphelp
1
@Phphelp 请尝试使用 <form action="add-lead-new.php" target="rightframe"> - Jeremy

3

1
+1 -- 我同意,使用CSS是一种更清晰的分离关注点的方式。 - davecoulter

1

最好只使用CSS,但如果你真的坚持要使用物理按钮,你可以创建一个没有数据的虚拟表单:

<form action="href"><input type="submit" value="Click Here" /></form>

1

<input type="button" value="新预订" onclick="self.frames['rightframe'].location.href='add-lead-new.php'"/>

可以的


你可能想要放置一个绝对URL。 - Cystack
我一开始打错了,后来改正了...也许再试一次?对我来说它是有效的。 - Cystack
首先,我同意建议使用CSS解决方案。其次,我强烈反对使用框架。但如果你真的想使用<input>,那么请确保你的“rightframe”是在HTML中创建的,并确保它的名称为“rightframe”。如果它只是一个iframe,我的代码将会起作用。如果它是一个常规框架(丑陋的),那么请使用top代替self。 - Cystack
我正在为一个巨大的项目工作。他们已经开发了4年了,我对它并不了解。已经有一个链接了。我的老板想把它改成按钮,但它应该在正确的框架中打开。 - Phphelp

0

这是对我有效的方法。

<a><?php echo( "<button onclick= \"location.href='inc/name_of_php_file.php'\">your buttons name goes here</button>");?></a>

换句话说,将您想要的 PHP 代码块嵌套在锚元素内以“链接”它。然后添加 PHP 代码块,在该代码块内部,您需要添加一个 echo()。在该 echo 中,您需要像平常一样添加 HTML 代码。就好像您甚至没有使用 PHP 写作一样。
将文件夹名称和文件编辑为所需位置。最后编辑您希望向观众展示的按钮文本。
onclick= \"location.href='folder_name_goes_here/name_of_php_file_goes_here.php'\">your buttons name goes here 这应该链接到您带有所需标题的页面。
请记住,因为这非常重要。如果没有在“前面加上\,由于嵌套在彼此内部的许多“,您的代码将无法正确读取。 \ 允许 HTML 将第一个“忽略为 echo Sting 的结尾。

0

你的代码可以工作,但这个更好。

<input type="button" value="New booking" onClick="top.frames['rightframe'].src='add-lead-new.php'" />

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接