我有一个函数可以删除文本字段(称为 termsField
),并使用 JQuery 清空 div 中的文本(称为 definitionContainer
),并且当我激活该函数时用户单击按钮。
function clearText(target){
var definitionDiv = document.getElementById("definitionContainer");
$('#definitionContainer').empty(); //empty the div
termsField.value = ""; //delete the text field
$(target).val = "";
这是我的文本字段和按钮的 HTML:
<input id="termsField" type="search" autocorrect="off"
placeholder="Type something!" maxlength="2048">
<INPUT type="image" name="Clear" alt="Clear Search" src="clearX.png"
height="22" width="22" onClick="clearText(this)">
有谁知道为什么清除 definitionDiv
在 Firefox 中有效,但 termsField.value = "";
不起作用?这两个在 Safari 和 Chrome 中都可以正常工作。我不想测试 IE,因为这是 Web 界面的一部分。
最佳答案
您尚未显示变量 termsField
的定义位置。也许您还没有定义它,这可能是问题所在,因为并非所有浏览器都会做这种可怕的事情(由 IE 引入),即使用与文档中元素的 ID 相对应的属性来污染全局对象。以下对我来说效果很好:
var termsField = document.getElementById("termsField");
termsField.value = "";
此外,虽然这与 termsField
的问题无关,但 jQuery 的 val()
是一个方法:
$(target).val("");
关于javascript - textfield.value = ""在 Firefox 中不起作用,但在 Safari/Chrome 中起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4196472/