javascript - textfield.value = ""在 Firefox 中不起作用,但在 Safari/Chrome 中起作用

标签 javascript jquery firefox jquery-ui safari

我有一个函数可以删除文本字段(称为 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/

相关文章:

javascript - 每个 Web 请求传输的字节数

html - 为什么在 section 元素内 H1 的大小不同?

javascript - 如何控制fitBounds是否改变边界?

javascript - Bazinga Expose Translation Bundle 不翻译

javascript - 查找最接近给定经度/纬度的城市

jquery mobile datepicker 不工作 o 单击文本框

javascript - 从JavaScript加载外部JavaScript库/脚本

javascript - 如何使用组件路由 Angular 1.5 跨页面导航时保留值

javascript - 在 jquery 中附加要选择的选项时遇到问题

firefox - mPDF - Firefox PDF 查看器中的背景图像质量不佳