【问题标题】:jQuery serialize form update MySQL based on form ID?jQuery基于表单ID序列化表单更新MySQL?
【发布时间】:2012-07-15 07:06:21
【问题描述】:

我使用 PHP while 循环填充<form> 列表,并使用来自 MySQL 的值填充字段。现在我希望能够使用一个submit- 按钮更新所有表单。

表单在 HTML 中看起来像这样(注意,在我的实际页面上,有多个这样的。唯一不同的是<form id='X'>

<form id='34' name='customercontact' method='post' action='customerUpdate.php'>
    Förnamn: <br /><input type='text' name='contact_firstname' class='textbox' value='text....'>
    Efternamn: <br /><input type='text' name='contact_lastname' class='textbox' value='text....'>
    Telefonnummer: <br /><input type='text' name='contact_phone' class='textbox' value='text....'>
    Mobiltelefon: <br /><input type='text' name='contact_cellphone' class='textbox' value='text....'>
    E-mail: <br /><input type='text' name='contact_email' class='textbox' value='text....'>
        <select name='isActive'>
            <option value="0" selected>Inaktiv</option>
            <option value="1">Aktiv</option>
        </select>
</form>

如何使用 jQuery 序列化将每个表单和所有值作为字符串发送?我真的不知道从哪里开始。

【问题讨论】:

    标签: php jquery forms serialization


    【解决方案1】:

    您可以选择页面$('form') 上的所有表单,然后遍历它们并通过AJAX“提交”值。

    更新:

    <script type="text/javascript">
    $(document).ready(function() {
        $('#customer_contact_save').live('click', function(e){
            e.preventDefault(); // prevent form submit
            $.each($('form'), function(index) { 
                var sData = $(this).serialize(); // get data from form for submit
                $.ajax({
                    type: "POST",// path to php script that saves data to db
                    url: "some.php",
                    data: sData,
                    success: function(someMessageFromPhp) {
                        alert(someMessageFromPhp); // alert to user what some.php returned
                    }
                });
            });
        });
    });
    </script>
    

    【讨论】:

    • 您应该扩展您的答案或将其删除并将其保留为评论,因为它并没有真正的帮助。
    • @Zago23 是的,我知道我能做到。但是怎么做呢?
    • @N.B.我扩大了我的答案。希望现在有所帮助。
    • 感谢您的更新!它现在贯穿我的表单,但是 POST 数据是空的……对此有什么想法吗?
    • 嗯,我在几个站点上通过 firebug 尝试了这段代码,它总是捕获所有表单的所有表单值......我忘了在我的回答中阻止提交,现在我也添加了该行 e.preventDeafault .
    猜你喜欢
    • 2012-07-04
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    相关资源
    最近更新 更多