Javascript jQuery通过不在IE中工作的ajax加载新密码

Javascript jQuery通过不在IE中工作的ajax加载新密码,javascript,jquery,Javascript,Jquery,我有以下代码,但它在IE,9中不起作用。也许还有其他版本 该功能正在运行,如果我发出警报,它确实会启动,但在IE中,当再次单击按钮时,它不会替换文本。在其他浏览器中,用户每次单击“gen#u password”按钮时,都会从远程文件重新加载新密码。在IE中,它永远不会取代它 有人知道怎么了吗 谢谢 $("#gen_password").live('click',function(){ $("#password_messg").html(''); var before = $("

我有以下代码,但它在IE,9中不起作用。也许还有其他版本

该功能正在运行,如果我发出警报,它确实会启动,但在IE中,当再次单击按钮时,它不会替换文本。在其他浏览器中,用户每次单击“gen#u password”按钮时,都会从远程文件重新加载新密码。在IE中,它永远不会取代它

有人知道怎么了吗

谢谢

$("#gen_password").live('click',function(){

    $("#password_messg").html('');
    var before = $("#gen").html();
    $("#gen").html("<image alt='Loading...' src='ajax_loader.gif' />");
    $("#password_container").load('random.php', function(){
        $("#gen").html(before);
    });
    $("#password_container").show();
    return false;
});
$(“#gen_密码”).live('click',function()){
$(“#密码信息”).html(“”);
var before=$(“#gen”).html();
$(“#gen”).html(“”);
$(“#密码_容器”).load('random.php',function(){
$(“#gen”).html(之前);
});
$(“#密码_容器”).show();
返回false;
});
以下是它所作用的HTML:

<fieldset class="blue_border"><p id="password_messg" class="message"></p><legend>Change password</legend>
    <form method="post">
        <dl class="zend_form">
            <dt></dt>
            <dd>
                <input type="hidden" name="pwpid" id="pwpid" value="<?php echo $this->login_data['id'];?>" />
                <span id="password_container" class="disabled">&nbsp;</span>
                <input type="hidden" name="savepw" id="savepw" value="1" />
            </dd>
            <dt></dt>
            <dd id="gen">
                <button id="gen_password">Generate a Password</button>
                <button id="save_password">Save</button>
            </dd>
        </dl>
    </form>
</fieldset>
更改密码
您在jQuery中创建的HTML无效-
应该是
”;

我认为你的HTML不好。你应该试试

$("#gen").html('<img src="ajax_loader.gif" alt="Loading" />');

var img=$(“我也有同样的问题,但它只是;在javascript代码中丢失了。

嗨,哎呀,我没有发现。不过这还没有解决它,也许还有别的问题?:(我已经尝试插入一个简单的测试,以确保它不是图像部分……控制台中没有任何错误。我认为清除旧内容、从ajax请求中替换为新内容的逻辑可能有问题。:sw
random.php
返回的到底是什么?IE可能也有问题。嗨,random.php会的返回一个字符串,比如breaker191,不包含在任何引号或容器中,只包含那些字符。嗯,我不知道,但也许这可以帮助你:HTML很好,这不是问题,@i-CONICA我不理解当你点击按钮时它不起作用的部分,再次,你的意思是第一次起作用,第二次不起作用sn不在IE中?默认情况下,在页面加载时,显示密码的元素是隐藏的,当单击按钮时,显示的元素包含一个新的随机密码。在IE中,显示的元素包含相同的密码,但从未获得新密码。因此$(“#密码_容器”).show();显示了容器,但它仍然包含相同的密码,上面的jQuery代码无法正常工作。@i-CONICA您是否尝试过使用$.get()而不是$('#password_container').load()?
var img = $("<img>",{src: 'ajax_loader.gif', alt: 'Loading'});
$("#gen").html(img);