HoBoFoTo

Hobo everyday foto.

日本語 English

onclick アクションがビジュアルとテキストの切り替えで消えてしまうことの対策

私はTinyMCE Advancedを使って投稿を書いていくのですが、この前困ったことが起きました。

それは、投稿をテキストで編集していたときには、inputボックスのonclickアクションが正常に動作したのですが、そこからビジュアルで編集し直すと、動作しなくなるのです。

初めは何が起きたのか全く分からず唖然としました。

もう一度テキストに戻り、良くソースを見てみると、なんとonclickアクションが消えてしまっていました。どうもビジュアルに切り替えると、コードを整形してくれようで、onclickは不必要なものとして扱われるみたいです。

初めは何とかする方法は無いかと思いましたが、最終的には、ショートコードにしてしまえばいいのではないかと考え着きました。

ということで作ったショートコードが以下です。

function print_button_f($atts) {
    extract(shortcode_atts(array(
        'class' =>'',            //ボタンに付けるクラスの初期値
        'value' => '送信',       //ボタンに表示される文字の初期値
        'onclick' => 'onclick'  //onclickアクション名の初期値
    ), $atts));
    $str =  '<input class="'.$class.'" type="button" value="'.$value.'" onclick="'.$onclick.'()" />';
    return $str;
}

あとは、ボタンを入れたいところに、[btn class="button" value="OK" onclick="click"]などと書けばができます。

 

よかったらクリックしてください。
にほんブログ村 IT技術ブログ WordPressへ

共有:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です