1

できるだけ簡潔にしようと思います。私はブートストラップと高度な JavaScript を初めて使用します。基本的には、ブートストラップ モーダルを使用してユーザーの前にフォームをロードし、データを収集してデータベースに保存しました。私の質問は、ajax を使用してそれを行う方法です。フォームが異なる他のモーダルもあり、ページ全体を何度も処理したくないからです。PS私はこのアプリケーションをcodeigniterで作成しています

これはモーダル内のフォームです

 <section id="launch" class="modal hide fade" style="width: 800px; left: 500px;">
              <header class="modal-header" style="height: 7px; background: none repeat scroll 0% 0% rgb(87, 164, 210);">
                <h4 style="margin-bottom: 0px; margin-top: -5px; text-align: center; color: white;">Unit Details</h4>
                <button type="button" class="close" data-dismiss="modal" style="margin-top: -20px;">&times</button>
              </header>
 <?php echo form_open('setupnewblock/registerNewBlock'); ?>
<div class="modal-body" style="padding-top: 0px; padding-left: 0px; " >
 <div style="position: relative; left: 43px; margin-top: 41px; margin-left: 0px;">
                <span>Address 1</span>
                <input  type="text" placeHolder="" name="address1" style="width: 219px; height: 17px; margin-left: 20px; margin-top: 3px;" value="<?php echo set_value('address1'); ?>"/>
                <br />
                <span>Address 2</span>
                <input  type="text" placeHolder="" name="address2" style="width: 219px; height: 17px; margin-left:20px; margin-top: 3px;" value="<?php echo set_value('address2'); ?>"/>
                <br />
                <span>Address 3</span>
                <input  type="text" placeHolder="" name="address3" style="width: 219px; height: 17px; margin-left:20px; margin-top: 3px;" value="<?php echo set_value('address3'); ?>"/>
                <br />
                <br />
              </div>
 <footer class="modal-footer" style="margin-top: 475px;">
          <input type="submit" value="Save" name="save" class="btn btn-primary" style="margin-top: 2px;  height: 27px; width: 89px;" data-dismiss="modal"></input>
          <?php echo form_close(); ?>
        </footer>
      </section>

ajaxを使ってフォームを送信したい

4

3 に答える 3

0

非常に単純にしたい場合は、これでうまくいくはずです:

$('input[name=save]').click(function(e) {
    e.preventDefault();

    $.post("setupnewblock/registerNewBlock", {form: $("#launch form").serialize()},  
        function(data) {
        // callback   
    });
});
于 2013-04-08T09:38:07.597 に答える
0

codeigniterユーザーガイドをご覧ください:

あなたのコードは、

$attributes = array('class' => 'myform', 'id' => 'myform');
    echo form_open('setupnewblock/registerNewBlock', $attributes);

その後、フォームの送信機能を次のようなjquery機能にバインドする必要があります

$(document).ready(function() {
    $("#myform").submit(function() {

        $.ajax(
                {
                    type: 'POST',
                    url: 'your url to php file',
                    data: {}, //your form datas to post          
                    success: function(response)
                    {
                        alert(response);

                    },
                    error: function()
                    {
                        alert("Failure");
                    }
                });

    });
});
于 2013-04-08T14:10:26.263 に答える