Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JS更改文本_Javascript_Html - Fatal编程技术网

Javascript 使用JS更改文本

Javascript 使用JS更改文本,javascript,html,Javascript,Html,如何通过JavaScript更改文本框/输入的文本,当其被单击时 var txtSearch = document.getElementById("txtSearch"); txtSearch.onmousedown= txtClear; function txtClear() { txtSearch.value = ""; } 您所做的是编写更改内部变量的代码。如果愿意,您没有将该信息写入页面或“屏幕”。变量foo.v

如何通过JavaScript更改文本框/输入的文本,当其被单击时

var txtSearch = document.getElementById("txtSearch");
        txtSearch.onmousedown= txtClear;

        function txtClear() {
            txtSearch.value = "";
        }

您所做的是编写更改内部变量的代码。如果愿意,您没有将该信息写入页面或“屏幕”。变量foo.value更多地用于捕获文本或值,而不是将其写出

使用文件。编写(xxxx);作为一种向页面写入内容或更改现有HTML的方法。

您需要在对象上使用,并像这样使用
focus
事件(假设此处讨论的元素是一个输入):


请注意,不必使用
函数设置值(如果使用,则需要它
返回所需的值,或将
事件作为参数传递给它并修改该对象);您也可以很容易地使用空字符串(
event.target.value='
)。

啊,所以如果我是正确的……这实际上是早期常见的错误。我想这就是你的全部Javascript?它没有包含在任何函数中?如果是这样的话,这个问题也有助于回答:


您只需一行代码即可完成此操作,但仍能正常工作:

document.getElementById("txtSearch").onmousedown = function() { this.value = "" }

加载DOM后,需要分配处理程序:

window.onload = function() {
    var txtSearch = document.getElementById("txtSearch");
    txtSearch.onmousedown= txtClear;
};

否则,如果Javascript出现在HTML正文之前,它将找不到
txtSearch
元素。

onclick
,而不是onmouseover@c69谢谢,但仍然不起作用。您可以添加一个代码的JSFIDLE示例吗?它不起作用?那么什么不起作用呢?上面的Javascript在HTML文件中出现在哪里?如果是在HTML之前创建
txtSearch
元素,则
document.getElementById()
将返回
null
。我真的建议不要使用document.write,除非有人只是在写一个3分钟的测试页面……更直接的想法是“
value
是错误的属性”EDIT:(在本例中,我甚至不认为这是正确的)
文档。write
将吹走整个页面,因为它在页面完成渲染后被调用。在本例中,这是一个正确的方式来编写信息,而不是获取信息,而不是解决方案本身。如果您想通知某人“正确的方式”做某事,一般来说,它更适合于评论而不是回答。更重要的是,“文档.书写”从来都不是“正确的方式”“以我的经验。innerHTML和
createElement
/
appendChild
都是首选。他没有在页面中写入内容或更改现有HTML。他试图更改
字段的内容,这是通过指定
属性来完成的。使用
addEventListener
通常比直接在xxx上设置
更可取(尽管浏览器支持较弱),但这是一个代码样式问题,而不是修复方法。问题中的代码正在调用一个将值设置为空字符串的函数,而不是将值设置为该函数调用的返回值。当然,OP需要让他的函数实际返回有用的内容(即:返回“”),或者更新相关代码,将事件作为参数传递给
txtClear
函数并在本地使用。我在下面的例子中记下了这一点。如果我的脚本在不同的页面上呢?不同的页面不会相互影响。??为什么国旗,大拇指朝下,它在这把小提琴上工作
window.onload = function() {
    var txtSearch = document.getElementById("txtSearch");
    txtSearch.onmousedown= txtClear;
};