Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用表单数据刷新ajax div_Javascript_Php_Jquery_Ajax_Forms - Fatal编程技术网

Javascript 使用表单数据刷新ajax div

Javascript 使用表单数据刷新ajax div,javascript,php,jquery,ajax,forms,Javascript,Php,Jquery,Ajax,Forms,我在谷歌上搜索了很多,但找不到解决这个问题的方法: 我的主页中有一个div,它使用JQuery函数'.load'加载另一个页面。这很有效。在这个加载的页面中,我有一个搜索选项。提交表单时,我希望重新加载这个ajax div,并发送提交的数据,以便在这个ajax div中使用它 我怎样才能做出这样的解释?我听说了。load使用GET,我的表单发送POST。但是在提交后使用.post函数不起作用 有人吗 迄今为止的代码: 在我的主页上,我只有一个div,没什么重要的 加载的页面: <form

我在谷歌上搜索了很多,但找不到解决这个问题的方法:

我的主页中有一个div,它使用JQuery函数'.load'加载另一个页面。这很有效。在这个加载的页面中,我有一个搜索选项。提交表单时,我希望重新加载这个ajax div,并发送提交的数据,以便在这个ajax div中使用它

我怎样才能做出这样的解释?我听说了。load使用GET,我的表单发送POST。但是在提交后使用.post函数不起作用

有人吗

迄今为止的代码:

在我的主页上,我只有一个div,没什么重要的

加载的页面:

 <form id="formpie" name="zoek" action="" method="POST">
  <input type="hidden" name="zoek" value="zoek" id="zoek"/>
  <input type="text" name="tags" size="31" id="tags"/>
  <select name="categorie" id="categorie">
    <?php $imagelib = Imagelib::find_all();?>
        <option value="">alle</option>
    <?php  foreach($imagelib as $imagelib_id): ?>
        <option value="<?php echo $imagelib_id->id;?>"><?php echo $imagelib_id->naam; ?></option>
        <?php  endforeach;?> 
  </select>
  <input type="submit" name="zoek" id="search" value="Zoek" />
</form>
单击“提交”按钮后:

$('#formpie').submit(function (e) {
    e.preventDefault();
    var tags = $("#tags").val();
    var categorie = $("#categorie").val();
    $.ajax({
        type: "POST",
        url: "imglib.php",
        async: false,
        dataType: 'html',
        success: function () {
            $('#dialog-form').load("imglib.php", {tags : tags, categorie : categorie});
        }
    });
});

像这样的方法应该会奏效:

$('#formpie').on('submit', function(e) {
    e.preventDefault();

    $.ajax({
        type: 'POST',
        url: "imglib.php",
        async: false,
        data: $(this).serializeArray(),
        success: function(data) {
            $('#dialog-form').html(data);
        }
    });
});

你应该随邮件一起发送数据。它不会自动发送表单数据。

您可以发布代码吗?或者您可以发布一个示例html页面和您尝试使用的场景。我已经发布了代码的重要部分。基本上,#POST数据将用于填充div。这已经起作用了,只是重新加载数据不起作用。div现在重新加载。但已填写的字段不会被发送。它只需重新加载即可。编辑-您的编辑修复了它(进入帖子)。非常感谢!你救了我一天。在你提供代码后我更改了答案:)你应该使用数据属性发送数据。
$('#formpie').on('submit', function(e) {
    e.preventDefault();

    $.ajax({
        type: 'POST',
        url: "imglib.php",
        async: false,
        data: $(this).serializeArray(),
        success: function(data) {
            $('#dialog-form').html(data);
        }
    });
});