js 触发 onblur事件

文章描述了一个在HTML表单中设计的文件上传功能,通过JavaScript检测文件名是否重复。作者遇到的问题是,设置文件名input的value后,onblur事件的ajax文件名检查未被触发。为了解决这个问题,作者分别使用了IE的fireEvent和Firefox/Chrome的dispatchEvent来模拟触发input的onBlur事件,以执行文件名检查的AJAX请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我设计了这样一个html:上传文件后检测文件名是否重复

然后我在js 里设置了文件名input的value

可是他不触发 onblur 事件的ajax 文件名检查

因此我需要在js中触发 id=articlename 的input的 onBlur事件

ie用 fireEvent 火狐 chome 用dispatchEvent 

blur是事件类型:失去焦点

所有事件类型介绍https://developer.mozilla.org/zh-CN/docs/Web/Events

js

		var test = document.getElementById('articlename');
		if (document.all) {
			test.fireEvent('onBlur');
		} else {
			var event = document.createEvent("HTMLEvents");
			event.initEvent('blur', true, true);
			test.dispatchEvent(event);
		}

		$_('articlename').setValue(filename);

html(php)

<tr valign="middle" align="left">
  <td class="tdl">小说名称:</td>
  <td class="tdr">
  <input type="text" class="text" name="articlename" id="articlename" size="30" maxlength="50" value="" onBlur="Ajax.Update('{?$jieqi_modules['article']['url']?}/articlecheck.php?articlename='+this.value, {outid:'anamemsg', tipid:'anamemsg', onLoading:'<img border=\'0\' height=\'16\' width=\'16\' src=\'{?$jieqi_url?}/images/loading.gif\' /> Loading...'});" /> <span id="anamemsg"></span>
  </td>
</tr>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值