Ajax从父表单和模态发布值

时间:2014-12-11 21:51:29

标签: javascript jquery ajax

我确信这是可能的,但努力让这个工作。我的模态div位于我的父页面中的表单上方,包含标题,发布和日期的表单元素。在点击postpages按钮时,它仅在我的父表单'pagesform'中发布值。我需要这个来在我的模态中发布表单元素。

如果我执行console.log,它确实会显示标题并发布等等,因此我知道值是正确的,它们只是不发布。

HTML

<div id="mymodal" role="dialog">

title + publish + date are here

</div>

<form id="pagesform" method="post">
..etc
</form>

AJAX

$('#postpages').click(function(){

    // values in modal
    $title = $('#title').val();
    $publish = $('#publish').val();
    $date = $('#date_time').val();

    // post parent form vars
    var form = $('#pagesform').serialize();
        $.ajax({
            url: '{{ url("api/processpages")}}',
            method: 'post',
            data: form,
            success: function(data){
                $('#showpages').append(data);
            },
            error: function(){},
    });
});

3 个答案:

答案 0 :(得分:0)

也许你可以使用:

$('#pagesform').append($('#title'));
...
var form = $('#pagesform').serialize();
...

答案 1 :(得分:0)

您可能需要重新构建标记,以便模态表单元素是表单元素的后代:

<form id="pagesform" method="post">

    <div id="mymodal" role="dialog">

    title + publish + date are here

    </div>

..etc

</form>

答案 2 :(得分:0)

您可以将值附加到表单数据:

var form = $('#pagesform').serialize() + '&title=' + $title + ...

如果值包含特殊字符,请不要忘记对其进行网址编码。