-3

我想使用包含表单的克隆 div 使用此代码将记录插入数据库

$(document).ready(function() {

    $("#button").click(function() {
        $("<div class='newclone' id='xxx'><article><form method='post' id='aj'><input type='checkbox'><label>Firstname</label><input type='text' value='' name='firstname'><label>Secondname</label><input type='text' value='' name='secondname'><label>City</label><input type='text' value='' name='city'><input type='hidden' value='4'></article><input type='submit' value='insert' class='one'><button class='two'>Delete</button><button class='three'>Cancel</button></form></div>").appendTo('.clone-container');
    }); 

    $('.one').click(function() {
        $.ajax({
            type: "POST",
            url: "insert.php",
            data: $("#aj").serialize(),
            success: function() {
                alert('Inserted!');
            }
        });
    });
});

这是php文件

$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("clone", $con);

$firstname=$_POST['firstname'];
$secondname=$_POST['secondname'];
$city=$_POST['city'];
mysql_query("INSERT INTO clone(firstname,secondname,city) VALUES ('$firstname','$secondname','$city')");

编辑

问题是似乎没有发布任何内容

4

2 回答 2

3

分别测试每个部分。Ajax 请求是否发送了正确的数据?PHP脚本甚至可以获取数据吗?(尝试echo <pre>;print_r($_POST);exit;。)您的INSERT查询公式是否正确?成功了吗?

你还不知道你的问题到底是什么。首先弄清楚问题是什么。然后可能很容易弄清楚如何解决它。

于 2012-07-20T14:49:41.630 回答
1

仅在单击后才添加$('.one')到 DOM 。$("#button")因此,何时$('.one').click(运行,$('.one')尚不存在,因此该事件未绑定。

您需要使用委托(或“实时”)事件。

$(document).on('click', '.one', function(){
    // Click handler here
});
于 2012-07-20T14:50:35.627 回答