-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")そのため、 when $('.one').click(is run は$('.one')まだ存在しないため、イベントはバインドされません。

委任された (または「ライブ」) イベントを使用する必要があります。

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