我在下面有一些代码,它在一个输入字段中运行良好。但是,如果您单击名为#addForm 的 div,我有一些代码会将额外的字段附加到表单中,并且输入的名称为 name="itemName[]"。
<script>
$(document).ready(function() {
$('body').on('click', '.save', function(e) {
var string = $(this).serialize();
$.ajax({
type: "POST",
url: "add_room.php",
data: string,
cache: false,
success: function(data){
$('#message').text('The id of the inserted information is ' + data);
}
});
});
});
$(document).ready(function(){
$('#addForm').on('click', function(){
$('<label for="itemName[]">Item</label><input class="itemName" type="text" name="itemName[]"><label for="itemCondition">Condition</label><input class="itemCondition" type="text" name="itemCondition"><div class="save">Save Item</div>').fadeIn(500).appendTo('#mainForm');
});
});
</script>
正如你所看到的,我有大部分代码,但我对序列化感到困惑,我不确定我应该如何在 php 端处理这个问题。
到目前为止,这是我的 php 脚本:
<?PHP
include('dbConfig.php');
$item = $db->real_escape_string($_POST['itemName']);
if ($stmt = $db->prepare("INSERT test (test_title) VALUES (?)"))
{
// Use an s per variable passed to the string, example - "ss", $firstname, $lastname
$stmt->bind_param("s", $item);
$stmt->execute();
$stmt->close();
echo $db->insert_id;
//echo "success";
}
// show an error if the query has an error
else
{
echo "ERROR: Could not prepare SQL statement.";
}
?>