【发布时间】:2011-08-23 21:08:14
【问题描述】:
http://jsbin.com/ezecun/edit#javascript,html
我必须这样写,因为它是动态生成的,下面列出了实际代码。我在 jsbin 中对其进行了一些简化。基本上用不可用的框的值更新数组需要很长时间。
感谢观看。
代码: php
echo "<label style='float:left'>Comments: </label> <textarea onKeyUp=\"editItemInCart(this.value,'comments',".$itemNum.")\" onChange=\"editItemInCart(this.value,'comments',".$itemNum.")\" >".$cart['comments']."</textarea><br />";
javascript
function editItemInCart(newValue,fieldName,itemNum) {
jQuery.ajax({
type:"POST",
url: "editItem.html",
data: "newvalue=" + newValue + "&fieldname=" + fieldName + "&itemNum=" + itemNum,
})
//alert(newValue + fieldName + itemNum);
}
【问题讨论】:
-
你希望这会做什么?
-
慢的不是keyup事件,而是脚本要等待服务器响应AJAX查询。您是否测量过 editItem.html 处理查询需要多长时间?
-
我希望它根据那里的两个事件用新值更新一个数组。页面不到一秒,没问题。我认为添加一个等待不活动然后更新的延迟会更好,所以它不会一直触发。
-
一个完整的往返 HTTP 请求将需要(比如说)1 秒。我什至可以在同一时间段内敲出至少 5 或 6 个字符。这意味着您之前的 ajax 请求将忙于处理现在完全陈旧的数据,因为它们至少有 5 或 6 个字符已过期。
标签: php javascript jquery ajax onkeyup