2010-11-10 83 views
3

在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

+0

您確定沒有收到任何回覆嗎?如果您將警報(「測試」)放入響應函數會怎麼樣? – 2010-11-10 13:44:28

回答

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/

+0

這樣做。很高興知道,感謝您的鏈接。 – arby 2010-11-11 04:51:23

0

通常,如果我沒有收到函數的迴應,這意味着我錯誤地格式化了我試圖傳遞的數據。我建議在你迴應的字符串周圍加上雙引號,看看它是否有效。

+0

我不認爲添加雙引號會改變語句。我只是發送我在其他瀏覽器上收到的連接字符串。 – arby 2010-11-10 13:51:14

+0

我知道,但jQuery有時會堅持使用雙引號,尤其是在PHP的響應中。 I.E.可能比其他人更棘手。 – Belinda 2010-11-10 14:27:52

+0

[我認爲沒有。](http://docs.jquery.com/Types#Quoting)哈哈。 =] – arby 2010-11-10 21:44:11

1

通過jquery設置innerHTML時出現錯誤。

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