ColorBox onClickはJS関数を実行します

私はColorBoxのインライン機能を使用しており、クリックしたときにウィンドウを閉じるように設定したボタンを作成しました。

$('.closebutton').live('click', function(){
        $.fn.colorbox.close();
    });

ボタンがクリックされたときに実行したい別の機能があります。

<button class="closebutton" onclick="myFunction();">Close</button>

myFunctionが上で動作しないという問題があります。

どんなアイデアですか?

更新:

ここにコードがあります:

<script type="text/javascript">
jQuery(document).ready(function() {
    $(".inline").colorbox({inline:true, width:"50%"}); //for colorbox inline
    $('#cboxClose').remove(); //remove popup window close button

    $('.closebutton').live('click', function(){
        $.fn.colorbox.close();
        myFunction();
    });

$。fn.colorbox.close(); の前または後に myFunction(); を追加しても機能しません

myFunctionコード:(これはページ上のコードの後に​​あります)

<script type="text/javascript">
function myFunction() {
    $("#ajax-form").submit(function(){
        $.post("update.php",
        $("#ajax-form").serialize(),
            function(data){
                $('#jqm').attr('src', 
                $('#jqm').attr('src'));
            }
        );
        return false;
    });
}
</script>

更新2:

私はよりうまく説明しようとします:私はフォームと、入力して入力ボックスにいくつかのテキストを追加し、フォームを送信すると、入力の値が提出されるので、見つけることが動作するメインページ上の入力があります。 今、同じ入力をcolorBoxのインライン領域に置くと、ポップアップウィンドウの内側に表示されるので、値は送信されません。私はFirebagでJSエラーを取得しようとしましたが、そこに何も表示されません。 お役に立てれば。

0
上記の更新を参照
追加された 著者 Satch3000,
myFunction()はどこに定義されていますか?あなたもそのコードを追加してください。
追加された 著者 Joey,

4 答え

なぜ、 $。fn.colorbox.close(); の前に myFunction()を追加するだけでいいですか?そうすれば、物事がどのように処理されるかを確かめることができます。

1
追加された
私は理由のために前に言った。
追加された 著者 Niet the Dark Absol,
エラーメッセージはありますか?デバッグ?
追加された 著者 Niet the Dark Absol,
それへのリンクが機能していませんか?または、 myFunction()のコードを提供できますか?
追加された 著者 Niet the Dark Absol,
動作していない...アップデートを参照
追加された 著者 Satch3000,
Beforeも試しましたが、まだ動作していません。
追加された 著者 Satch3000,
エラーは一切ありません。ただ働かない
追加された 著者 Satch3000,

インラインのjavascriptを使用する代わりに、単に次のようなことができます。

$('.closebutton').live('click', function(){
    $.fn.colorbox.close();
    myFunction();
});
1
追加された
動作していない...アップデートを参照
追加された 著者 Satch3000,
そこにあるコードは正しく実行されません。インラインポップアップの内側から関数が呼び出されると、myFunctionコードは実行されません。
追加された 著者 Satch3000,
もう少し具体的にできますか? myFunction に入ってしまい、コードが正しく実行されないか、呼び出されなくなったということですか?
追加された 著者 Leo,

問題は、 myFunction()(onClick属性)がjQueryによってオーバーライドされているということです。 .closebutton をクリックするたびに関数を実行させたい場合は、次のようにします:

$('.closebutton').live('click', function(){
        $.fn.colorbox.close();
        myFunction();
});

そのボタンだけの場合は、そのボタンにIDを追加してください:

$('.closebutton').live('click', function(){
   $.fn.colorbox.close();
   if($(this).attr('id') == 'exampleID')){
      myFunction();
   }
});
0
追加された
動作していない...アップデートを参照
追加された 著者 Satch3000,

さて、あなたのアップデート#2を読んだ後、実際にあなたの問題は、myFunctionコードが正しく実行されないということではないことを理解しています。

問題は、あなたの入力をcolorboxの中に移動したので、その値がフォームと共に提出されないということです。これは、入力がフォームの外部であるためです。

フォーム全体をcolorboxの中に移動するか、javascriptを使用して、フォームの外に移動した入力値を隠し入力としてコピーすることができます。

0
追加された
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript