在javascript中请求完成后将readyState更改为0
change readyState to 0 after request complete in javascript
我有一个代码,当用户在dropbox中更改值时,它从数据库中获取相关值并显示在文本区。我有一个清除按钮来清除文本区域的值。现在,我的问题是,当用户点击清除按钮时,它清除了textarea的值,当用户再次从dropbox中选择任何值时,它不会在textarea中显示相关值,直到用户刷新页面
my script for showing relevant value in textarea("box is the id of textarea")
<script>
function showoffer(str) {
var xhttp;
if (str == "") {
document.getElementById("box").innerHTML = "";
return;
}
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("box").innerHTML = this.responseText;
}
};
xhttp.open("GET", "getc.php?id=<?php echo $aff;?>&q="+str, true);
xhttp.send();
}
</script>
我的clearall按钮脚本
<script>
function clearall()
{
document.getElementById("box").value="";
}
</script>
有bug的行为是由于您试图使用innerHTML
以及value
,建议使用value
获取/设置文本区域,但无论如何这里是一个解释,但首先你不应该浏览器保持值之间的内部一致性总是在innerHTML更改时更新,但它不是另一种方式 ie。
第一次当ajax成功时,你使用innerHTML
分配说"hello"到textarea,请注意,这也反映在它的值属性中,所以如果你做alert(document.getElementById("box").value)
值将与上面分配的("hello")相同,但是当你按下clearall()它只擦除值属性和文本,即alert(document.getElementById("box").innerHTML)
不会是空的。现在打破这种一致性可能是背后的bug行为的原因;将innerHTML
替换为value
将修复
相关文章:
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 借助asp.net验证或java脚本对多个文本进行验证
- java.net和javascript之间正则表达式的差异
- 如何从Java/scala调用js美化程序
- 如何使用json将对象列表从java转换为javascript
- Java脚本时间添加
- WebDriverException:tinyMCE未在selenium Web driver java中定义
- 如何将字符串值从php页面发送到java脚本页面
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- DOM事件通过JSON转换为java
- 在 Java 中的 JavaScript 函数中插入 Wicket 值
- JSON分析错误:Java中AJAX、Javascript和Servlet的意外EOF
- java脚本在Chrome和其他浏览器中对LocaleTimeString的不同行为
- 错误405:向Java控制器(Ajax)发送JSON时找不到POST方法
- Java-彩票统计解析器
- 如何将变量数据从Java类获取到JavaScript
- Java脚本将URL转换为已保存的URL时出错
- 将这些正则表达式从javascript转换为Java
- 如何使用Java脚本创建提交按钮's的拖放功能