0

特定のテキストエリア(リンクを貼り付ける場所)のbind()イベントで$.post、プレビュー付きのajaxコールバックを実行することを共有するリンクを作成しています(youtubeまたはvimeoリンクの場合)。基本的に、リンクが検出されてプレビューが取得されるたびに、リンクをテキストエリアに削除します。

これはコールバックを行う関数です:

    $('#writer').bind('change keypress keyup keydown',function() {

   var value_= $('#writer').val();
            $('#thumb-temp').hide();


            $.post( 'checklink.php?', { string : value_ }, 
            function(response) {
                $('.writer').prepend(response);
                $('#thumb-temp').show();

    }).fail(function() { alert( "error" ) })
});

リンクを削除するページchecklink.php

<?
    $link = $_POST['string'];

            $reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
            preg_match($reg_exUrl, $link, $url);

            $link = $url[0];
?>
<script>clearTextarea('<? echo $link ?>')</script>

そして最後に clearTextarea() 関数

function clearTextarea(url) {
var _textarea = $('#writer');
var _curVal     =   _textarea.val();
        var _curUrl =   url;
        var _regex      =   new RegExp( _curUrl , 'g' );
        var _newVal     =   _curVal.replace( _regex , '' );

        _textarea.val( _newVal );
}

さて、明らかに、これは機能するはずですが、何も起こりません。何かアイデアはありますか? どこが間違っているのかわかりません:(

4

4 に答える 4

0

注文は、

  <script type="text/javascript">       

        function clearTextarea(url) { 
                var _textarea = $('#writer');
                var _curVal     =   _textarea.val();
                        var _curUrl =   url;
                        var _regex      =   new RegExp( _curUrl , 'g' );
                        var _newVal     =   _curVal.replace( _regex , '' );

                 _textarea.val( url );
        }
    </script>

HTML のテキストエリア:

  <textarea id="writer"></textarea>

PHP コード

          <?php
             $link = $_POST['string'];

            $reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
            preg_match($reg_exUrl, $link, $url);

            $link = $url[0];

        ?>

clearTextarea function() の呼び出し;

   <script>clearTextarea('<?php echo $link ?>');</script>
于 2013-11-04T14:01:22.880 に答える