首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从HTML创建数组,通过AJAX发送

从HTML创建数组,通过AJAX发送
EN

Stack Overflow用户
提问于 2015-11-06 16:47:23
回答 1查看 77关注 0票数 1

我在这件事上遇到了异常的困难。如果我有这样的表格

代码语言:javascript
复制
<form id='logForm' method='post' action='seatingProcess.php'>

<span class='close' style='display:none' id='255' desk='9-4' deskval='2-3' changeType='REMOVE'></span>
<span class='close' style='display:none' id='255' desk='7-4' deskval='5-3' changeType='ADD'></span>
<span class='close' style='display:none' id='255' desk='8-4' deskval='8-3' changeType='CHANGE'></span>

<div class='btn btn-primary' type='submit' id='submit'>Submit</div>
</form>

我想要做的是,当我单击按钮提交表单时,我希望在span中创建一个不同元素的数组,以便通过AJAX将其发送到PHP中进行处理。你建议我怎么做?

此外,将根据用户操作在此表单中动态创建此信息。它们都是span的,但是包含或多或少相同的属性,并附加了一个值。它的思想是让php接收数组,并根据属性"changeType“表示的内容,生成执行该操作的SQL脚本。我可能也需要帮助。

我只有javascript了。我没有任何关于数组的东西,这就是我需要的帮助,上面的with.The是一个示例输出,但是我会发布一个生成信息的函数。:

Javascript

代码语言:javascript
复制
    function remDeskId(){
    userObject = $dropObject.find('div.dragTest');
    userObjectChange = 'REMOVESEAT';
    userObjectID = userObject.attr('data-info');
    userObjectDeskID = userObject.attr('data-id');
    userObjectDeskIDVal = 0;
    $('form#logForm').append("<span class='close' style='display:none' id='"+userObjectID+"' desk='"+userObjectDeskID+"' deskval='"+userObjectDeskIDVal+"' changeType='"+userObjectChange+"'></span>");

    userObject.attr({"data-id":""}); //remove desk number for new user location
    userObject.appendTo('#userPool');

}

$('#submit').click(function(){
        // get the form data
        // there are many ways to get this data using jQuery (you can use the class or id also)
        //var formData = {

       // };

        // process the form
        $.ajax({
            type        : 'POST', // define the type of HTTP verb we want to use (POST for our form)
            url         : 'seatingProcess.php', // the url where we want to POST
            data        : $('#logForm').serialize(), // our data object

        })
            // using the done promise callback
            .done(function(data) {

                // log data to the console so we can see
                console.log(data); 

                // here we will handle errors and validation messages
            });

        // stop the form from submitting the normal way and refreshing the page
        event.preventDefault();
    });

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2015-11-06 17:22:36

您可以遍历这些范围并创建一个数组。

代码语言:javascript
复制
var spans = $('#logForm span');
var data = [];

 $.each(spans, function(i, item){
     var newItem = {};
     newItem.id = $(item).attr('id');
     newItem.desk = $(item).attr('desk');
     newItem.deskval = $(item).attr('deskval');
     newItem.changeType = $(item).attr('changeType');

     data.push(newItem);
 });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33571643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档