Нулевой буфер обмена не работает при динамическом вызове - PullRequest
0 голосов
/ 30 января 2011

Для копирования в буфер обмена я использую Нулевой буфер обмена , рекомендованный этим ответом .

Код отлично работает при использовании в этой форме.

<div id="d_clip_button" style="background: #FFFFCC;">
    Click to copy
</div>
<script language="JavaScript" type="text/javascript">
        var clip = new ZeroClipboard.Client();
                        clip.setText( '<?php echo "http://example.com/" . $var; ?>' );
                        clip.glue( 'd_clip_button' );
</script>

Проблема возникает, когда указанный выше код вызывается динамически, например:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>

<form action="generar.php" method="post">
Input: <input type="text" id="longUrl" name="longUrl" value="" /><br />
<input type="button" value="Acortar!" onclick="submitme()" />
<div id="resultado"></div>
</form>



<script type="text/javascript" charset="utf-8">

    function submitme(){
    var tosend=document.getElementById("longUrl").value;
    $.ajax({
            type: 'POST',
            url: 'generar.php',
            data: 'longUrl='+tosend,
            success: function(msg){
                if(msg){
                    document.getElementById("resultado").innerHTML=msg;
                }
                else{
                    return;
                }
            }
        });
    }

</script>

Появляется «Click to copy», но ресурс вызывается неправильно, поскольку он «не флэш».

Любые идеи о том, как сделать эту работу / в чем проблема?

Заранее спасибо !!Пожалуйста, попросите любое уточнение!


Может ли оно иметь (не думаю) какое-либо отношение ко всему, что вложено в div?

1 Ответ

2 голосов
/ 31 января 2011

innerHTML не выполняет JavaScript, который передается в вызове Ajax.

Использование jQuery's .html().

 $("#resultado").html(msg);
...