本机表单提交后的 ajax $.post 函数
ajax $.post function after native form submission
我正在尝试使用以下代码在本地提交表单:
$('#invoices-bundle').submit(function(e) {
e.preventDefault(); // don't submit multiple times
this.submit();
$.post('php/seller/invoice/invoice_print_batch.php', function(data){
$('#added-invoices').html(data);
});// use the native submit method of the form element
});
提交后();我想用我的PHP脚本的内容填充DOM。奇怪的是,DOM 在我第一次提交表单时没有被填充,而是第二次和之后的每次。
不知道为什么会这样!有什么建议吗?
谢谢!
提交带有this.submit();
的表单后,其余代码将无用。要更改或刷新的页面以及 ajax 代码之后将中断。使表单发布为 ajax,而不是常规表单提交或更改代码顺序,submit()
放在末尾。
如果你想
通过AJAX提交,那么你为什么要包含一个注释来"使用本机提交"(这似乎与你的阻止默认值冲突)?
似乎在执行 AJAX post 时不需要执行提交操作 - 它会立即执行;您是否希望收集 POST 返回值并将它们提供给您的invoice_print_batch.php页面?页面上是否有也需要发送的表单元素?填充这些变量,并在$.post
调用的数据参数中发送它们。
$('#invoices-bundle').submit(function(e) {
e.preventDefault(); // don't submit multiple times
var itemToSend = form.find('input[name="inputsName"]').val();
// ...more?
$.post('invoice_print_batch.php', { value: itemToSend }, function(data) {
$('#added-invoices').html(data);
});
});
在这里,value
将在您的 _POST 美元中用于invoice_print_batch.php。
表单的自然提交已被避免,您页面上的值已发送到您的 php 页面,并且该 php POST 的结果可以在您的当前页面上更新。
如果你的实际页面处理发生在当前页面上,你可能希望将处理移动到invoice_print_batch.php - 也许重命名该文件 - 并让该页面处理所有表单输入并返回/打印"答案"。最终结果将是一个感觉响应更快的页面,而无需任何页面加载/重定向来处理提交。
您是否需要完整路径?为了可读性,我缩短了它,如果当前页面位于同一目录中,您可以这样做 - 它可能不是。
相关文章:
- 从类方法中的 ajax post 函数回调函数更改 javascript 类属性
- 在计算AJAX POST函数时遇到问题
- AJAX POST函数未上载文件
- 用于表单验证的 jQuery post 函数只允许 alert() 显示返回的数据
- Javascript 故障破坏了用于选择输入的 POST 函数
- Jquery .ajax POST 函数错误返回 asp.net MVC.
- 如何使用 javascript 使用 angular 2 http post 函数提交表单
- 扩展 jQuery post 函数
- 本机表单提交后的 ajax $.post 函数
- 我的$.post函数没有't返回任何数据
- $.post 函数不起作用
- Node.js中的GET/POST函数
- $.post函数,返回为空
- Mocha正在测试一个post函数
- 如何获取 jquery post 函数的返回值
- 为什么可以't更改Jquery$.post函数(JavaScript)内部的值
- 我可以把带有GIF内容的$.post函数的结果放在javascript图像对象中吗
- Post函数与nodejs和mysql
- 关于AJAX XMLHttpRequest post函数的数据大小是否有限制?
- 为什么我的post函数不能访问它上面的变量?