jquery提交表单,然后在现有的div中显示结果

IT技术 javascript jquery html ajax
2021-02-05 13:29:28

我有一个简单的文本输入表单,提交时需要获取一个 php 文件(将输入传递给文件),然后获取结果(只是一行文本)并将其放入 adiv并将其淡入div视图。

这是我现在所拥有的:

<form id=create method=POST action=create.php>
<input type=text name=url>
<input type="submit" value="Create" /> 

<div id=created></div>

我需要的是create.php?url=INPUT动态加载到被div调用的created.

我有 jquery 表单脚本,但我无法让它正常工作。但是我确实加载了库(文件)。

3个回答

这段代码应该可以。对于像这样简单的事情,您不需要 Form 插件:

$('#create').submit(function() { // catch the form's submit event
    $.ajax({ // create an AJAX call...
        data: $(this).serialize(), // get the form data
        type: $(this).attr('method'), // GET or POST
        url: $(this).attr('action'), // the file to call
        success: function(response) { // on success..
            $('#created').html(response); // update the DIV
        }
    });
    return false; // cancel original event to prevent form submitting
});
因为他想要:create.php?url=INPUT - 他应该将表单方法设置为“GET”
2021-03-16 13:29:28
上帝喜欢!!!正是我要找的。对于用户每天在任意数量的网站上看到的如此简单的问题,网络上几乎没有文档/示例。
2021-03-24 13:29:28
这只是救了我的屁股。此外,如果您在需要替换的表单上方有文本,只需将文本粘贴在表单的顶部,就在 <form> 标签内。除非有一些奇怪的 css 东西控制表单内的文本,否则它应该呈现相同的内容。
2021-03-28 13:29:28
我认为这只是他描述应该发送的数据。表单的方法说 POST,所以我假设他想要那个。
2021-04-02 13:29:28
我喜欢你如何包含使用表单方法、操作和 url 的方式。大多数人只会通过硬编码这些值来举一个例子......
2021-04-07 13:29:28

这也适用于文件上传

$(document).on("submit", "form", function(event)
{
    event.preventDefault();

    var url=$(this).attr("action");
    $.ajax({
        url: url,
        type: 'POST',
        dataType: "JSON",
        data: new FormData(this),
        processData: false,
        contentType: false,
        success: function (data, status)
        {
            $('#created').html(data); //content loads here

        },
        error: function (xhr, desc, err)
        {
            console.log("error");

        }
    });        

});

如果您不想刷新页面,则必须使用 AJAX 发布表单。

$('#create').submit(function () {
    $.post('create.php', $('#create').serialize(), function (data, textStatus) {
         $('#created').append(data);
    });
    return false;
});
return false;应避免,我相信。
2021-03-25 13:29:28
我试过这个,但是当我点击提交时它把我带到了 create.php 页面。
2021-03-26 13:29:28
捕捉提交按钮的点击事件不是捕捉表单提交的正确事件。你想捕捉表单的提交事件。
2021-03-31 13:29:28