javascript - 在表单上使用 ajax 提交并从 php 函数中获取值
问题描述
我有一个表单调用提交如下
<form action="" method="post" id="member_form" onsubmit="return json_add('member','<?php echo ($admin->getnew_id()); ?>','0','slider_form');">
我遇到的问题是在从另一个函数类提交表单之前获取 $new_id 。这不起作用它继续运行函数 getnew_id() 并在保存之前生成 ID 我需要如下过程。
- 表格打开
- 用户填写表格
onsubmit 它需要遵循。一种。获取新 id = $new_d b。然后做
return json_add('member','','0','slider_form');">
我尝试了以下但不工作
$("form").submit(function(){
$.ajax({
url:"lastid.php",
type:'POST',
success:function(response) {
var $new_id = $.trim(response);
return json_add('member-add',$new_id,'0','slider_form');
alert("Submitted");
}
});
解决方案
问题似乎在第三步。
您应该做的是阻止表单提交并在 ajax 中处理它。
- 您需要
onsubmit="return false"
阻止表单提交 接下来,用ajax处理提交
$("form#member_form").submit(function(){ $.ajax({ url: "lastid.php", type: "POST", data: { // this is where your form's datas are "json": json_add('member-add',$new_id,'0','slider_form'), "key": $("form#member_form").serialize() }, success: function(response) { var $new_id = $.trim(response); alert("Submitted"); // alerting here makes more sense } // return json_add('member-add',$new_id,'0','slider_form'); // returning here do nothing! });
您可以在此处阅读有关在 jQuery 中使用 ajax 的更多信息
推荐阅读
- python - 尝试实施梯度下降
- java - 如何通过 gradle 插件强制执行这种模式?
- swift - 如何从 tableView 单元格中显示的标签打印 .text?
- r - 使用 Shiny 和 Flexdashboard 创建相互依赖的输入
- perl - 如何在匹配之前和之后替换字符
- three.js - THREE.js 无法导入模块
- c++ - 为什么 memory_order_release 支持直到 C++20?
- python - seleniumpython 下拉列表 div
- angular - Angular HttpClient 不发送 gettter 提供的属性
- php - 维护模式 - 使用 IP 以外的其他方式进行授权