gpt4 book ai didi

javascript - 在表单提交 jQuery 后设置表单操作

转载 作者:行者123 更新时间:2023-11-29 21:44:49 24 4
gpt4 key购买 nike

如何在提交表单后“设置”操作(不更改)?

<form id="serialize" action="newjob.php?serialize=newjob" method="post">
<button id="jobsearch" name="jobsearch">GET FROM DB</button>
</form>

在提交表单并显示我需要从 db 获得的值后,为表单设置新操作,例如在提交后我如何得到这样的结果以便我可以将值添加到 db?

<form id="serialize" action="newjob.php?faulty=newjob" method="post">
<button id="jobsearch" name="jobsearch">ADD TO DB</button>
</form>

据我所知,通过在网上搜索这个 jquery 仅更改(提交)而不是在提交之后

$(function(){
$('#serialize').submit(function (event)
{
var newaction = 'newjob.php?faulty=newjob';
$(this).attr('action', newaction);
});
});

有可能在提交表单之后为同一个表单设置新的表单操作吗?我唯一需要完成的是因为我不能在表单中有一个表单(嵌套)

最佳答案

您不能修改 inside .submit() 事件处理程序的表单属性,因为它已使用典型的提交方法提交。
在 from 之后已提交,加载文档,并且尚未捕获为表单设置的任何提交事件。

你有两种选择来解决这个问题。


  1. AJAX 请求代替传统的表单提交(推荐);
    您应该在原始页面上处理服务器响应(从 PHP 发回的数据),就像这样(不修改您的 HTML):

    $('#serialize').submit(function (event){
    // prevent typical submit method:
    event.preventDefault();
    var that = $(this), newaction;
    $.ajax({
    url : that.attr('action'),
    method : 'GET',
    data : that.serialize(),
    // dataType : set accordingly to the type of data received from PHP,
    success : function(data_received_from_php){
    if(that.attr('action') === 'newjob.php?faulty=newjob'){
    newaction = 'newjob.php?serialize=newjob';
    // do something with "data_received_from_php" for that specific "action" ...
    }else{
    newaction = 'newjob.php?faulty=newjob';
    // do something with "data_received_from_php" for that specific "action" ...
    }
    // set the new action attribute:
    that.attr('action', newaction);
    },
    error : function(){
    // handle errors ...
    }
    });
    });

  1. 简单地检查 url 是否包含特定字符串,并基于此修改表单的 action attr(自从这些天以来,我将其视为一种解决方法,AJAX 是 在提交表单时更多“用户友好”:

    if (window.location.href.indexOf("?serialize=newjob") > -1) {
    $('#serialize').attr('action', 'newjob.php?faulty=newjob');
    }

关于javascript - 在表单提交 jQuery 后设置表单操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31594536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com