在表单上使用ajax提交并从php函数获取价值

时间:2018-06-30 13:22:59

标签: javascript php ajax

我有一个表格,要求提交如下

<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. 提交后,需要执行以下操作。 一种。获取新的ID = $ new_d b。然后

    返回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");
            }


});

1 个答案:

答案 0 :(得分:0)

问题似乎出在第三步。

您应该做的是阻止表单提交并在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 here中使用ajax的更多信息