首页 > 解决方案 > 在表单上使用 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 我需要如下过程。

  1. 表格打开
  2. 用户填写表格
  3. 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");
            }


});

标签: javascriptphpajax

解决方案


问题似乎在第三步。

您应该做的是阻止表单提交并在 ajax 中处理它。

  1. 您需要onsubmit="return false"阻止表单提交
  2. 接下来,用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 的更多信息


推荐阅读