使用背景图片加载问题的Javascript输入占位符文本

问题描述 投票:0回答:1

我有一个输入type =“ text”字段,正在尝试用一些默认文本的背景图像替换不被广泛支持的html 5占位符属性。在JavaScript中,当表单获得焦点时删除背景图像(以便用户在字段中键入的文本不会与背景图像中的文本重叠),并在输入失去焦点时替换背景图像(我正在使用[ C0]事件)。除用户在输入字段中输入文本,不提交该文本而直接转到另一页面并在其浏览器中单击“返回上一页”按钮,该页面重新加载但使用其先前的文本表示他们未提交,仍在背景图片上方的输入字段中。我试图通过检查页面加载时表单是否具有价值来解决此问题,如果确实这样做了,则删除背景图像,但该部分对我不起作用。

onBlur

我愿意寻求可能的解决方案。

javascript input dom-events onload placeholder
1个回答
1
投票

我解决了!我只是将onload事件放入我的body元素中,而不是输入元素中,并更改了“ this”。到“ document.getElementById('food')”。因为显然onload事件仅适用于文档本身(body元素)和图像。

所以这是我的身体元素的外观:

<input type="text" id="food" onLoad="if(this.value!=''){this.style.backgroundImage='none';}" onFocus="this.style.backgroundImage='none';" onBlur="if(!this.value){this.style.backgroundImage='url(pics/m_form_post.png)';}" name="food"/>

这是我的输入元素的外观:

<body onLoad="if(document.getElementById('food').value!=''){document.getElementById('food').style.backgroundImage='none';}">
© www.soinside.com 2019 - 2024. All rights reserved.