Jquery 这是IE发行中的价值
我对IE(7-9)中的Jquery 这是IE发行中的价值,jquery,ajax,internet-explorer,Jquery,Ajax,Internet Explorer,我对IE(7-9)中的这个.value有问题。 我使用以下代码: <script language="javascript" type="text/javascript"> $(document).ready(function(){ $(".inputbox").keyup(function(){ value = this.value; $("#searchRe").load("suggestionSearch.php?value=" + valu
这个.value有问题。
我使用以下代码:
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$(".inputbox").keyup(function(){
value = this.value;
$("#searchRe").load("suggestionSearch.php?value=" + value);
});
});
</script>
$(文档).ready(函数(){
$(“.inputbox”).keyup(函数(){
value=this.value;
$(“#searchRe”).load(“suggestionSearch.php?value=“+value”);
});
});
这在Firefox和Chrome中有效,但不要在IE中将“value”传递给“suggestionSearch.php”。我认为value=This.value
是个问题。请帮帮我:)
注意:.inputbox
是一个文本框。因为您已经在使用jQuery,所以请尝试使用jQuery获取值,使用此行
var value = $(this).val()
jQuery可以很好地处理任意浏览器行为
编辑
这是一个适用于IE的快速解决方案,您可以根据自己的需要修改它
因为您已经在使用jQuery,所以请尝试使用jQuery获取值,使用此行
var value = $(this).val()
jQuery可以很好地处理任意浏览器行为
编辑
这是一个适用于IE的快速解决方案,您可以根据自己的需要修改它
您还可以发出警报($(this).serialize()) 您还可以发出警报($(this.serialize()) 对于此问题,您希望追加而不是加载
StrTemp = "<ul>"
$.each(function(value){
StrTemp += "<li><a id='" + value + "'>" + value + "</a></li>";
})
StrTemp += "</ul>"
$("#searchRe").append(StrTemp);
StrTemp=“”
$。每个(函数(值){
StrTemp+=“- ”+值+“
”;
})
StrTemp+=“
”
$(“#搜索”).append(StrTemp);
此代码在IE和其他应用程序中工作
最诚挚的问候对于此问题,您希望附加而不是加载
StrTemp = "<ul>"
$.each(function(value){
StrTemp += "<li><a id='" + value + "'>" + value + "</a></li>";
})
StrTemp += "</ul>"
$("#searchRe").append(StrTemp);
StrTemp=“”
$。每个(函数(值){
StrTemp+=“- ”+值+“
”;
})
StrTemp+=“
”
$(“#搜索”).append(StrTemp);
此代码在IE和其他应用程序中工作
致以最诚挚的问候您可以参加活动并使用它获取所需的数据。下面是一个示例代码:
<input class="inputbox" type="text" value="-default-" />
<script>
function changeHandler(event) {
console.log("changeHandler: ",event.target.value);
}
function keyPressHandler(event) {
console.log("keyPressHandler: ",event.target.value);
}
function keyDownHandler(event) {
console.log("keyDownHandler: ",event.target.value);
}
function keyUpHandler(event) {
console.log("keyUpHandler: ",event.target.value);
}
$(function(){
$(".inputbox")
.on("change",{},changeHandler)
.on("keypress",{},keyPressHandler)
.on("keydown",{},keyDownHandler)
.on("keyup",{},keyUpHandler);
})
</script>
因此,可以通过事件本身(以及绑定事件时作为第二个{}参数所需的任何附加参数)获得所需的数据
注意:“更改”事件在输入字段实际模糊(焦点丢失)后触发
p、 您的“onkyeup”处理程序可能如下所示:
function(event){
$("#searchRe")
.load("suggestionSearch.php?value=" + event.target.value);
}
您可以通过事件获取所需数据。以下是示例代码:
<input class="inputbox" type="text" value="-default-" />
<script>
function changeHandler(event) {
console.log("changeHandler: ",event.target.value);
}
function keyPressHandler(event) {
console.log("keyPressHandler: ",event.target.value);
}
function keyDownHandler(event) {
console.log("keyDownHandler: ",event.target.value);
}
function keyUpHandler(event) {
console.log("keyUpHandler: ",event.target.value);
}
$(function(){
$(".inputbox")
.on("change",{},changeHandler)
.on("keypress",{},keyPressHandler)
.on("keydown",{},keyDownHandler)
.on("keyup",{},keyUpHandler);
})
</script>
因此,可以通过事件本身(以及绑定事件时作为第二个{}参数所需的任何附加参数)获得所需的数据
注意:“更改”事件在输入字段实际模糊(焦点丢失)后触发
p、 您的“onkyeup”处理程序可能如下所示:
function(event){
$("#searchRe")
.load("suggestionSearch.php?value=" + event.target.value);
}
尝试将请求参数作为参数传递,而不是修改URL
// arguement ----------v
$("#searchRe").load("suggestionSearch.php", {value: this.value});
完整代码:
$(document).ready(function(){
$(".inputbox").keyup(function(){
$("#searchRe").load("suggestionSearch.php", {value: this.value});
});
});
还要确保ajaxcache
设置为false
$.ajaxSetup ({
// Disable caching of AJAX responses
cache: false
});
尝试将请求参数作为参数传递,而不是修改URL
// arguement ----------v
$("#searchRe").load("suggestionSearch.php", {value: this.value});
完整代码:
$(document).ready(function(){
$(".inputbox").keyup(function(){
$("#searchRe").load("suggestionSearch.php", {value: this.value});
});
});
还要确保ajaxcache
设置为false
$.ajaxSetup ({
// Disable caching of AJAX responses
cache: false
});
我已经试过你的代码,似乎工作得很好
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
</head>
<body>
<input type="text" class="inputbox" />
<div id="searchRe"></div>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.js" ></script>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$(".inputbox").keyup(function(){
value = this.value;
$("#searchRe").load("s.php?value=" + value);
});
});
</script>
</body>
</html>
用这个
$("#searchRe").load("s.php?value=" + encodeURIComponent(value));
请注意函数encodeURIComponent,以下是更多信息。我已经尝试了您的代码,似乎运行良好
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
</head>
<body>
<input type="text" class="inputbox" />
<div id="searchRe"></div>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.js" ></script>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$(".inputbox").keyup(function(){
value = this.value;
$("#searchRe").load("s.php?value=" + value);
});
});
</script>
</body>
</html>
用这个
$("#searchRe").load("s.php?value=" + encodeURIComponent(value));
请注意函数encodeURIComponent,请按照了解更多信息。您的页面上是否有带有id=“value”
的元素?在这种情况下,IE将为其创建一个名为value
的全局变量,并拒绝将全局变量值分配给其他对象
如果是这样的话,那么解决方案就很简单了
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$(".inputbox").keyup(function(){
var value = this.value;
$("#searchRe").load("suggestionSearch.php?value=" + value);
});
});
</script>
$(文档).ready(函数(){
$(“.inputbox”).keyup(函数(){
var值=此值;
$(“#searchRe”).load(“suggestionSearch.php?value=“+value”);
});
});
(请注意value
前面的var)。无论如何,这是您应该做的。您的页面上是否有带有id=“value”
的元素?在这种情况下,IE将为其创建一个名为value
的全局变量,并拒绝将全局变量值分配给其他对象
如果是这样的话,那么解决方案就很简单了
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$(".inputbox").keyup(function(){
var value = this.value;
$("#searchRe").load("suggestionSearch.php?value=" + value);
});
});
</script>
$(文档).ready(函数(){
$(“.inputbox”).keyup(函数(){
var值=此值;
$(“#searchRe”).load(“suggestionSearch.php?value=“+value”);
});
});
(注意值前面的var)。这是您应该做的。您尝试过吗
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$(".inputbox").keyup('', function(){
var value = $(this).val();
$("#searchRe").load("suggestionSearch.php?value=" + value);
});
});
</script>
$(文档).ready(函数(){
$(“.inputbox”).keyup(“”,function(){
var值=$(this.val();
$(“#searchRe”).load(“suggestionSearch.php?value=“+value”);
});
});
我刚刚添加了事件数据(可能不需要,谁知道呢),声明了var值
,并更改了将值获取到$(this.val()
的方法。您尝试了吗
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$(".inputbox").keyup('', function(){
var value = $(this).val();
$("#searchRe").load("suggestionSearch.php?value=" + value);
});
});
</script>
$(文档).ready(函数(){
$(“.inputbox”).keyup(“”,function(){
var值=$(this.val();
$(“#searchRe”).load(“suggestionSearch.php?value=“+value”);
});
});
我刚刚添加了事件数据
(可能不需要,谁知道呢),声明了var值
,并更改了将值获取到$(this.val()
尝试使用var值=$(this.val();检查.load()是否函数可以正常工作。另一件事是你应该在变量前面加一个var
操作符。@Habibillah:我试过了,但没用!@Taai:我在值前面加了一个var,但没用。.load()在firefox和chrome中都能正常工作。IE可能有问题吗?#searchRe是
吗?试着用var value=$(这个).val();检查.load()函数是否工作正常。另一件事是,你应该在value
变量之前加一个var
操作符!@Habibillah:我试过了,但没用!@Taai:我在value之前加了一个var,但没用。.load()在firefox和chrome中工作正常。这可能与IE有问题吗?#searchRe是