从jQuery表单向导提交PHP表单

时间:2014-11-14 19:41:26

标签: jquery jquery-form-wizard

我有一个通过jQuery表单向导的表单,所有部分工作正常,最后一个选项卡让用户有机会在提交之前查看输入。

On Submit我已将下面的代码发送到数据库。我的问题是POST数据没有到达数据库,插入了一行,但它是一个空行。

我已经测试了Insert并手动输入了数据,因此当点击Submit时,这会输入到db中。

如何将表单中的数据导入数据库?

$('#form_myform1').find('.button-previous').hide();
        $('#form_myform1 .button-submit').click(function (e) {
            $.ajax({
                url:'includes/myforms/myforms_form1.php',
                data:$(this).serialize(),
                type:'POST',
                success:function(data){
                    console.log(data);
                    $(".alert-success").show().fadeOut(5000);
                },
                error:function(data){
                    $(".alert-danger'").show().fadeOut(5000);
                }
            });
        }).hide();

我的PHP POST代码(是的,我知道它不是PDO ;-)我在此位置有PDO和我的init.php文件的其他问题因此现在使用mysql_。)

<?php
require '../../assets/functions/core/cnn.php';

if(!empty($_POST['appraisename'])) {
    $appraisename = htmlspecialchars(trim($_POST["appraisename"]));
}

$form1sql = "INSERT INTO myforms_personaldetails (name)
            VALUES('".$appraisename."') ";
    mysql_query($form1sql) or die(mysql_error());
?>

2 个答案:

答案 0 :(得分:2)

您的问题是读取data:$(this).serialize(),的行。该行中的this指的是按钮,而不是表单......

将该行更改为:

data:$("#form_myform1").serialize(), - 这应该可以正常使用。

然而,在你的情况下,似乎这仍然是一些空白。

因此,既然您只使用了一位数据,那么只需明确设置数据:

data : { apprasename : $("#idOfYourInputBox").val() }

根据serialize()无效的原因 - 我需要查看表单标记......

答案 1 :(得分:1)

我现在正在使用的Ajax代码

$('#form_myform1').find('.button-previous').hide();
    $('#form_myform1 .button-submit').click(function (e) {
        $.ajax({
            url:'includes/myforms/myforms_form1.php',
            data:$('#submit_form').serialize(),
            //data : { appraiseid : $("#appraiseid").val() },
            type:'POST',
            success:function(data){
                console.log(data);
                $(".alert-success").show().fadeOut(5000);
            },
            error:function(data){
                $(".alert-danger'").show().fadeOut(5000);
            }
        });
    }).hide();