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

5

我有同样的问题,但是当我尝试这个要点时,一切都做得很好。

你可以试试这段代码:

$(document).ready( function() {
    $('.modal form').on('submit', function(event) {
        event.preventDefault()
        $.post( $(this).attr('action'), $(this).serialize(), function(data) {
            // just try to see the outputs
            console.log(data)
            if(data.return===true) {
                // Success code here
            } else {
                // Error code here
            }
        }, 'json')
    })
});
于 2013-06-05T05:43:42.250 回答
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 回答