0

クリップボードに対処するために、私はゼロクリップボードを使用しています。この回答で推奨されています。

この形式で使用すると、コードは完全に正常に機能します。

<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>

「クリックしてコピー」が表示されますが、「フラッシュではない」ため、リソースが正しく呼び出されません。

これを機能させる方法についてのアイデア/問題は何ですか?

前もって感謝します!!必要な説明を求めてください!


それは(そうは思わないが)全体がネストされていることと関係があるのdivだろうか?

4

1 に答える 1

2

innerHTMLAjax呼び出しで渡されるJavaScriptを実行しません。

jQueryを使用し.html()ます。

 $("#resultado").html(msg);
于 2011-01-31T02:16:52.133 に答える