1

jQuery 経由でフォームを投稿しようとしていますが、正常.post()に機能していません。コンソールから何も得られず、非常にイライラしています。経験豊富な JS ユーザーに助けを求める。ご協力ありがとうございました。

注:このフォームは CodeIgniter で構築されており、フォーム ヘルパーと HTML の従来のルートを使用して完全に問題なく投稿できます。JS/jQuery メソッドが正しく動作していません。

形:

    <form class="nice custom" id="create_form">

                    <h3>Create Event</h3>

                    <label for="intention"><strong>Intention:</strong></label>
                    <?php $intention_attributes='style="width: 100%; " class="show-on-phones" id="intention_dropdown"'; ?>
                    <?php echo form_dropdown('intention', $intention, 'Select Intention', $intention_attributes ); ?>
                    <div class="custom dropdown show-on-desktops" style="width: 100%; ">
                        <a href="#" class="current">Select Intention</a>
                        <a href="#" class="selector"></a>
                        <ul style="width: 100%; ">
                            <li>Select Intention</li>
                            <li>Option 1</li>
                            <li>Option 2</li>
                            <li>Option 3</li>
                            <li>Option 4</li>
                            <li>Option 5</li>
                        </ul>
                    </div>

                    <label for="action"><strong>Action:</strong></label>
                    <?php echo form_input($action); ?>

                    <label for="date_of_event"><strong>Date:</strong></label>
                    <?php echo form_input($date_of_event); ?>

                    <label for="repeat_event"><strong>Repeat:</strong></label>
                    <?php $repeat_event_attributes='style="width: 100%; " class="show-on-phones" id="repeat_event_dropdown"'; ?>
                    <?php echo form_dropdown('repeat_event', $repeat_event, 'Never', $repeat_event_attributes); ?>
                    <div class="custom dropdown show-on-desktops" style="width: 100%; ">
                        <a href="#" class="current">Never</a>
                        <a href="#" class="selector"></a>
                        <ul style="width: 100%; ">
                            <li>Never</li>
                            <li>Every Day</li>
                            <li>Every Week</li>
                            <li>Every Two Weeks</li>
                            <li>Every Month</li>
                            <li>Every year</li>
                        </ul>
                    </div>

                    <label for="end_repeat_event"><strong>End Repeat:</strong></label>
                    <?php echo form_input($end_repeat_event); ?>

                    <br />

                    <input style="width: 100%; " type="submit" name="submit" class="medium radius blue button" value="Create" id="create_button" />
</form>

JavaScript:

// Submit Create Form
    $('#create_form').live('submit', function() {
        var data = $('#create_form').serialize();
        var url = $(this).attr('action');
        $.post(url, data, function() {
            document.location.reload();
        });
        return false;
    }); // End
4

3 に答える 3

1

あなたのフォームにはアクション値がありません:

<form class="nice custom" id="create_form">

取得しようとしている場合でも:

var url = $(this).attr('action');

また、今後は使用$.liveしないでください。

jQuery 1.7 以降、この.live()メソッドは非推奨になりました。.on()イベント ハンドラーをアタッチするために使用します。古いバージョンの jQuery のユーザーは、 よりも.delegate()優先して使用する必要があります.live()

http://api.jquery.com/live/

于 2012-05-09T02:33:14.323 に答える
0

送信ボタンの名前を btnSubmit に変更してみてください。過去に、送信ボタンの名前を送信する際に問題が発生しました。

ありがとう、

于 2012-05-09T02:51:33.330 に答える
0

また、コンソール出力タブ (Webkit ブラウザー) の上部にある黒い点のボタンを押します。これにより、ページのロード間でログ メッセージが保持されます。

于 2012-05-09T02:54:37.670 に答える