合理的运用图片,能够使站点更加丰富多彩,相信有许多喜欢用图片的设计师都遇到过一个问题:用图片实现表单(form)的重置(reset)按钮时,这个按钮并不能重置表单,相反却执行了提交表单的操作,本文说明了这个问题的原因,并给出了相应的解决方案。
出现上述问题的原因主要是:普通的按钮是通过类型来区分的,submit 为提交按钮,reset 为重置按钮,而类型为图片(type="image")的按钮,其默认操作是提交表单。因此,如果想用图片实现重置按钮,就需要一些额外的设置了。
一个简单包含提交、重置按钮的表单代码如下:
<form method="post" name="testForm_1" action="">
<p><input type="text" name="keyword" /></p>
<input type="submit" value="Submit" />
<input type="reset" value="Reset" />
</form>
如果想用图片代替重置按钮,可以用下面的方法:
(1)给 type 为 image 的 input 添加 onclick 事件来实现重置,并通过添加 return false 来避免默认的提交操作:
<form method="post" name="testForm_2" action="">
<p><input type="text" name="keyword" /></p>
<input type="image" src="send.gif" />
<input type="image" src="reset.gif" onclick="javascript:document.forms['testForm_2'].reset(); return false;" />
</form>
关键代码:
Code:
onclick="javascript:document.forms['testForm_2'].reset(); return false;"
document.forms['testForm_2'].reset(); 是将名称为 testForm_2 的表单重置。
return false; 是防止提交表单。
(2)直接用图片模拟的重置按钮
<form method="post" name="testForm_3" action="">
<p><input type="text" name="keyword" /></p>
<input type="image" src="send.gif" />
<img src="reset.gif" alt="Reset" onclick="javascript:document.forms['testForm_3'].reset();" style="cursor:pointer;" />
</form>
关键代码:
Code:
onclick="javascript:document.forms['testForm_3'].reset(); "
style="cursor:pointer;"
document.forms['testForm_2'].reset(); 是将名称为 testForm_2 的表单重置。
style="cursor:pointer;" 设置图片悬停时,显示手型光标。
两种方法大同小异,在 javascript 被禁止的情况下,第二种方法按钮不会执行任何操作,而第一种方法却会执行提交操作。
当然,我们也可以直接把样式交给 CSS 去处理,用背景图的方式来实现,但是这样需要将 value 的值留空,如果 CSS 被禁止,
那么将会显示一个没有文字的按钮,每个方法都有自己的问题,可以根据自己的需要来选择解决方案。
分享到:
相关推荐
### 知识点一:使用jQuery实现form表单重置按钮功能 当需要在表单提交后清空表单数据,可以借助jQuery库来实现这一功能。在用户界面上通常有一个“重置”或“取消”按钮,用于将表单中各字段的数据还原至初始状态,...
此外,我们还需要添加额外的JavaScript代码来控制按钮的行为,尤其是当我们要使用图片作为重置按钮时。 #### 三、实现方法详解 1. **基本的图片按钮实现** - **提交按钮**: ```html ...
标题中的"使用jQuery重置(reset)表单的方法"是指利用jQuery来实现与原生JavaScript `reset`方法相同的功能。如描述中所述,尝试使用`$('#yigeform').reset()`这样的语句会导致错误,因为jQuery不直接支持这个方法。 ...
在JavaScript中,我们可以通过多种方式实现表单的重置操作,但最直接和常用的方法是使用表单对象的reset()方法。 首先,我们需要了解reset()方法的基本用法。在JavaScript中,reset()方法是HTMLFormElement对象的一...
总的来说,虽然jQuery没有内置的`reset()`方法,但通过结合使用jQuery选择器和JavaScript原生的`reset()`方法,我们可以轻松地实现表单重置功能。在处理大量表单元素时,应考虑更高效的方法,如一次性清空所有`input...
在ASP.NET中,我们经常需要处理用户输入,并且有时会遇到需求,需要提供一个“清空”或“重置”按钮,以便用户可以快速清除表单中的所有输入。本文将详细介绍如何在ASP.NET中实现这样一个功能。 首先,我们需要理解...
本篇将详细介绍如何在layui中实现表单数据的清空和重置。 首先,我们来看一个简单的layui表单示例: ```html <form class="layui-form" action="" lay-filter="addGoodsForm" id="addGoodsForm"> <!-- 表单内容 -...
`方法来重置表单,可以实现这一效果。`form.render();`方法是用来对表单元素进行渲染和修饰的,它会将Layui的样式应用到表单元素上。 然而,在某些情况下,即使调用了`form.render();`,select元素却仍然没有被重置...
表单重置时会触发reset事件,在formreset事件中提交数据就行了,不过这样不能使用event.detail获取输入值了,要用input的bindinput事件或bindblur事件获取。然后用this.setData({})把值存起立提交表单时拿出来就行了...
同时,我们也使用了bindreset事件来绑定form表单的重置事件,并将其绑定到formReset函数上。 在index.js文件中,我们需要定义formBindsubmit函数和formReset函数来处理form表单的提交和重置事件。 ```javascript ...
在HTML的Form表单中,`reset`方法是一个至关重要的功能,它允许用户撤销他们在表单中的所有修改,恢复到初始状态。这个方法通常与一个重置按钮关联,当用户点击该按钮时,表单的所有输入字段将被重置。然而,关于`...
1. 使用`reset()`方法:每个`<form>`标签都内置了一个`reset()`方法,它能恢复表单到初始状态,即所有输入控件的值都被清除。例如,如果你有一个ID为"myForm"的表单,可以这样调用: ```javascript document....
当你在JavaScript中对表单元素进行引用并调用`reset()`时,所有表单字段的值都会被设置为它们的默认值,这与用户点击表单内的“重置”按钮效果相同。 ```javascript // 获取表单元素 var myForm = document....