处理提交表单后如何调用函数?

Posted

技术标签:

【中文标题】处理提交表单后如何调用函数?【英文标题】:How to call function after process submit form? 【发布时间】:2016-10-18 21:16:08 【问题描述】:

我有这样的表单和提交按钮:

<a href="javascript:void(0)" id="submit" class="easyui-linkbutton" onclick="$('#form_po_customer2').submit();">Save</a>

提交按钮后,我需要像这个按钮一样刷新页面:

<a href="javascript:void(0)" id="order_customer2" class="easyui-linkbutton" onclick="$('#form_po_customer2').form('clear')">Reset</a>

和函数 js order_customer2 像这样:

$("#order_customer2").live('click',function()
$('#tabhome').tabs('select', 'Konten');
$('#konten_menu').html('<div  align="center"></div><img  src="images/loader.gif" /></div>').fadeIn();
$('#konten_menu').load('data/tr_po_customer2.php');)

以及提交表单的函数js:

$('#form_po_customer2').form(  
        url:'process/fse_po_customer2.php',  
        onSubmit:function()  

        ,
        success: function(result)
                        var result = eval('('+result+')');
                        if (result.success)
                            $.messager.show(
                                title: 'Success',
                                msg: result.msg
                            );
                                            $('#tt').datagrid('reload');
                                            $('#tt3').datagrid('reload');
                                            $('#form_po_customer2').form('clear');
                         else 
                            $.messager.show(
                                title: 'Error',
                                msg: result.msg
                            );
                        
                        
    ); 

我需要刷新页面以生成新会话。 提交表单后如何刷新页面?像调用函数id=order_customer2(属性元素)

【问题讨论】:

查看这个问题以获得 php 刷新:***.com/questions/12383371/refresh-a-page-using-php 这个是javascript的:***.com/questions/5404839/… 仍然没有显示新会话。我的会话生成:$_SESSION['token_input'] = generate_token($data1); 如果我使用 location.reload();页面全部刷新,而不是上一页。 您要在提交后重置表单 【参考方案1】:

获得新会话的唯一方法是不通过 AJAX 提交表单,而是通过 method="POST"action="process/fse_po_customer2.php" 表单提交

否则您需要在 fse_po_customer2.php 中执行session_destroy(),然后一旦 AJAX 成功,重新加载应该生成新会话的页面。

【讨论】:

嗯,但我没有移动页面。在我的 js OnSubmit 中,我写道: $('#form_po_customer2').form('clear');如果有任何 ajax 刷新页面,我在哪里提交 ajax 成功后提交?? 是的,你为什么不试着在onSubmit:function() 里面写$('#form_po_customer2').form('clear'); 这意味着即使您在原始问题中提到了重置按钮,您仍然会遇到同样的问题!我认为你应该检查你的 HTML 代码。它可能有问题。检查#form_po_customer2 是否正确,通过实际添加重置按钮并使用它进行检查,通过从浏览器控制台/chrome 开发人员工具(F12)调用$('#form_po_customer2').form('clear'); 进行检查。 你所说的“破碎视图”到底是什么意思?您将需要提供详细信息或开始一个新问题。但首先,表格清除方法是重置表格吗?你的元素被重置了吗?如果是这样,那么您已经找到了答案!接下来是破坏视图的问题。

以上是关于处理提交表单后如何调用函数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ajax 调用中提交表单之前调用 javascript 验证函数

调用webpack打包后的js中的函数报错问题

从同一文件中的 HTML 表单调用 PHP 函数

HTML表单提交未在Wordpress帖子中调用Javascript“onsubmit”处理程序[重复]

如何防止表单提交在字段上点击输入? [复制]

使用 javascript 函数调用模拟 post 表单提交