Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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
Jquery 这是IE发行中的价值_Jquery_Ajax_Internet Explorer - Fatal编程技术网

Jquery 这是IE发行中的价值

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

我对IE(7-9)中的
这个.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});
   });
});
还要确保ajax
cache
设置为
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});
   });
});
还要确保ajax
cache
设置为
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是