jQuery $ .post()和IE7

时间:2010-11-10 13:40:21

标签: php jquery internet-explorer internet-explorer-7

在IE7上,我没有收到回复的回复:

function updateItem(item) {
  $.post("updater.php",{key:item.id, value:item.value},function(response) {
    $('#response').html(response);
  });
}

<div id="response"></div>
<select id="PRIMARY_KEY" onchange="updateItem(this)">
  <option>1</option>
  <option>2</option>
</select>

<?php
  echo 'UPDATED KEY: ' . $_POST['key'] . ' TO: ' . $_POST['value'];
?>

它适用于我所有其他浏览器。那是为什么?

编辑:最初,我试图回答this question

3 个答案:

答案 0 :(得分:3)

试试这个:( 2次修改:value的...值和<option value="1">1</option>

<script>
    function updateItem(item) {
  $.post("updater.php",{key:item.id, value:item.options[item.selectedIndex].value}, function(response) {
    $('#response').html(response);   });

}
</script>
<div id="response"></div>
<select id="primary_key" onchange="updateItem(this)">
  <option value="1">1</option>
  <option value="2">2</option>
</select>

我使用jsfiddle,IE7和debugBar来查找它们。 http://jsfiddle.net/d3xk8/

答案 1 :(得分:1)

通过jquery设置innerHTML时出错。

使用document.getElementById("#response").innerHTML = response;

答案 2 :(得分:0)

通常如果我没有从函数中得到回复,则意味着我错误地格式化了我想要传递的数据。我建议在你回响的字符串周围加上双引号,看看是否有效。