如何用图片实现表单(form)的重置(reset)按钮

     合理的运用图片,能够使站点更加丰富多彩,相信有许多喜欢用图片的设计师都遇到过一个问题:用图片实现表单(form)的重置(reset)按钮时,这个按钮并不能重置表单,相反却执行了提交表单的操作,本文说明了这个问题的原因,并给出了相应的解决方案。 

     出现上述问题的原因主要是:普通的按钮是通过类型来区分的,submit 为提交按钮,reset 为重置按钮,而类型为图片(type="image")的按钮,其默认操作是提交表单。因此,如果想用图片实现重置按钮,就需要一些额外的设置了。

 

一个简单包含提交、重置按钮的表单代码如下:


  1. <form method="post" name="testForm_1" action="">
  2.     <p> <input type="text" name="keyword" /> </p>
  3.     <input type="submit" value="Submit" />
  4.     <input type="reset" value="Reset" />
  5. </form>
  6.   

如果想用图片代替重置按钮,可以用下面的方法:

(1)给 type 为 image 的 input 添加 onclick 事件来实现重置,并通过添加 return false 来避免默认的提交操作:

  1. <form method="post" name="testForm_2" action="">
  2.     <p> <input type="text" name="keyword" /> </p>
  3.     <input type="image" src="send.gif" />
  4.     <input type="image" src="reset.gif" onclick="javascript:document.forms['testForm_2'].reset(); return false;" />
  5. </form>
  6.  

关键代码:
Code:


οnclick="javascript:document.forms['testForm_2'].reset(); return false;" 



document.forms['testForm_2'].reset(); 是将名称为 testForm_2 的表单重置。

return false; 是防止提交表单。

(2)直接用图片模拟的重置按钮

HTML:


   
   
  1.  
  2. <form method="post" name="testForm_3" action="">
  3. <p> <input type="text" name="keyword" /> </p>
  4. <input type="image" src="send.gif" />
  5. <img src="reset.gif" alt="Reset" onclick="javascript:document.forms['testForm_3'].reset();" style="cursor:pointer;" />
  6. </form>
  7.  



关键代码:
Code:


οnclick="javascript:document.forms['testForm_3'].reset(); "

style="cursor:pointer;" 



document.forms['testForm_2'].reset(); 是将名称为 testForm_2 的表单重置。

style="cursor:pointer;" 设置图片悬停时,显示手型光标。

 


两种方法大同小异,在 javascript 被禁止的情况下,第二种方法按钮不会执行任何操作,而第一种方法却会执行提交操作。


当然,我们也可以直接把样式交给 CSS 去处理,用背景图的方式来实现,但是这样需要将 value 的值留空,如果 CSS 被禁止,那么将会显示一个没有文字的按钮,每个方法都有自己的问题,可以根据自己的需要来选择解决方案。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值