[WordPress] 1 ページに myModal フォームを開くときに同じ id を使用して、それが勝った ' ホームページから開いている t

スポンサーリンク

質問

私は働いている寄付フォームを作るしようとしています原因ページに良いも、ユーザーがヘッダーのボタンをクリックすると表示します。原因ページからデータ ターゲット ‘#CausemyModal2′ を使用するときそれうまく働くが、それが何かを開く文句を言わないときにホームページ ボタンをデータ ターゲットに ‘#CausemyModal2′ ID を追加します。ただし、ホームページ ボタンを ‘#myModal’ をデータ ターゲットを設定した場合それが開きますフォームいないものだけが欲しい。ファイルの関連する部分は以下になります。多くのおかげで、それを提供する必要がある私に教えてください何かを含まなかった場合

関数 theme.php (それはないフォーム)

<div class="right-header">
<?php if(isset($cs_theme_option['header_donation_button']) &&                       $cs_theme_option['header_donation_button'] == 'on'){?>
<a href="#" class="btn cs-bgcolr" data-toggle="modal" data-target="#myModal"><?  php if($cs_theme_option['trans_switcher'] == "on"){     _e('Support us','WeStand');}else{ echo $cs_theme_option['donation_btn_title']; }     ?></a>

page_cause.php (それが働くフォーム)

<span class="progress-box-left"><?php if($cs_theme_option['trans_switcher'] == "on"){ _e('Raised','WeStand');}else{ echo $cs_theme_option['cause_raised'];  }?> <?php echo $cs_theme_option['paypal_currency_sign'];?><?php echo number_format($payment_gross);?></span>
            </div>
            <?php if( isset($cs_node->cause_view) && $cs_node->cause_view == "small" ){?>
                <?php if(isset($cause_status) && $cause_status <> ''){
                            echo '<span class="btn cs-btn-donate cs-bgcolrhvr">'.$cause_status.' </span>';

} else {?>
                    <a href="#" class="btn cs-btn-donate cs-bgcolrhvr" data-toggle="modal" data-target="#CausemyModal2<?php echo $post->ID;?>"><?php if($cs_theme_option['trans_switcher'] == "on"){ $trans_featured = _e('Donate Now','WeStand');}else{ echo $cs_theme_option['cause_donate']; }?></a>
                 <?php }?>

functions.php

if($cs_theme_option['trans_switcher'] == "on"){ $cause_donate = __('Donate Now','WeStand');}else{ $cause_donate = $cs_theme_option['cause_donate']; }
CausemyModal
?>

    <div class="modal fade cs-donation-form" id="CausemyModal2<?php echo $cause_id;?>" tabindex="-1" role="dialog">

      <div class="modal-dialog">

        <div class="modal-content">

            <div class="modal-header">

                <button aria-hidden="true" data-dismiss="modal" class="close" type="button"><i class="fa fa-times-circle"></i> </button>

                <i class="fa fa-money"></i>

                <h2><?php echo $cause_donate;?></h2>

            </div>

            <div class="modal-body">

                <h4><?php if($cs_theme_option['trans_switcher'] == "on"){ _e('Donation via authorise.net from your visitors','WeStand');}else{ echo $cs_theme_option['header_support_button_text_heading3']; }?></h4>

                <ul>

                   <?php 

                    if(isset($cs_theme_option['paypal_payments']) && $cs_theme_option['paypal_payments'] <> ''){

                        $paypal_payments = $cs_theme_option['paypal_payments'];

                        $paypal_payments = explode(',',$cs_theme_option['paypal_payments']);

                    } else {

                        $paypal_payments = array('50','100','200','500','1000');

                    }

                        foreach($paypal_payments as $paypal_payments_value){

                    ?>

                        <li><label class="cs-bgcolrhvr"><?php echo $cs_theme_option['paypal_currency_sign'].$paypal_payments_value;?> <input type="radio" name="donate" value="<?php echo trim($paypal_payments_value);?>"></label></li>

                     <?php }?>

                </ul>

                <script>

                jQuery(document).ready(function($) {

                    jQuery(".cs-donation-form ul li label") .click(function(event) {

                        /* Act on the event */

                        var a = jQuery(this).text().substring(1);

                          jQuery(".cs-donation-form .modal-footer label .cause-amount") .val(a);

                         jQuery(".cs-donation-form ul li label").removeClass("cs-active");

                         jQuery(this).addClass('cs-active');

                         return false;

                    });

                });

                </script>

                <div class="other-options">

                    <span class="opt-or">or</span>

                </div>

            </div>

答え

あきらめないだろうと id 属性をフォームにこの問題の正確な理由のため。フォームの断片は既に同じ id を持つ要素を含めることができます別のページに含まれて可能性があります。フォームは name 属性を与えるを参照する場合は次の JavaScript コード勧める:

var formName = "myDonationForm";
var form = document.forms[formName];

http://stackoverflow.com/questions/28373361/mymodal-form-opens-on-one-page-but-when-using-the-same-id-it-wont-open-from-the

スポンサーリンク

Leave a Reply