提交链接 - 没有Javascript:Downns?

问题描述:

我前几天发现了一个启示。当试图通过使用图像创建提交按钮时,我遇到了一个问题,图片没有显示,但文字是value。当时,这不是我想要的,但现在,当我回头看时,我看到了一些潜在的用途。提交链接 - 没有Javascript:Downns?

如果您需要将数据发送到另一个页面,但没有一个需要用户输入,您可以通过GET或通过POST的表单通过链接(或表格)发送。问题在于前者会创建丑陋的URL,而后者需要一个看起来不合适的submit按钮。当然,我可以想出一个图像,但是如果我只想要可选文本。

所以,我开始玩了一下,Firefox似乎呈现了我想要的,作为提交表单的可点击链接。所有你需要做的就是删除从input type='image'标签src属性:

<form action='some_page' method='post'> 
    <input type='hidden' name='email_address' value='[email protected]' /> 
    <input type='image' value='E-mail User' /> 
</form> 

是否在其他浏览器这个解决方案的工作?这样做有什么缺点(除了明显的事实,即你的链接CSS没有正确应用)?

+0

您的示例代码有语法错误: 方法='后>(需要密切报价) – RMorrisey 2009-09-24 21:15:26

+0

哎呀,我没仔细看不够。感谢您的支持! – 2009-09-25 13:54:20

我喜欢使用实际链接(隐藏)的解决方案,该链接通过JavaScript与noscript标签内的按钮一起公开。

<form action="some_page" method="post"> 
    <input type="hidden" name="email_address" value="[email protected]" /> 
    <a href="#" class="submit-link" style="display: none;">E-mail User</a> 
    <noscript> 
     <input type="submit" value="E-mail User" /> 
    </noscript> 
</form> 

$('submit-link').click(function() { 
    $(this).closest('form').submit(); 
    return false; 
}) 
.show(); 
+0

感谢您的代码。这应该很好:-) – 2009-09-25 13:55:11

您可以改为通过JS动态提交表单,也可以使用透明或白色背景的常规提交按钮。

使用HTML 4.01严格,它在FF3.5上工作,但不在IE8或Chrome上。该链接的作品,但没有文字只是一个空白的地方缺少图像。

所以,这似乎是一个坏主意,因为它可能只适用于一个浏览器。对我来说这是一个非常大的缺点,除非你的唯一市场是用于Firefox浏览器,那么,继续吧,好主意。 :)

正如詹姆斯斯基德莫尔建议的那样,使用javascript做一个onclick很容易提交它作为一个职位。

我会建议不引人注目的JS,所以,如果有人没有JS,那么它将作为一个链接工作,做一个GET提交,但如果他们有JS,那么它会改变行为是POST没有丑陋网址更改。

或者,如前所述,图像的背景可以与表单背景融合。

+0

感谢您在多个浏览器上检查它。我认为情况会如此,但由于我在Mac上,因此如果不安装虚拟机,我无法准确测试IE。 – 2009-09-25 13:55:54

没有必要使用图像输入,为什么不使用常规的提交按钮,应用一些严厉的造型,使其看起来像普通的文本?

<input type="submit" value="E-mail User" class="link"> 

<style> 
input.link { 
    border: none; 
    background: none; 
    cursor: pointer; 
    /* etc */ 
} 
</style>