我正在尝试将序列化表单发送到我的数据库。我这样做是因为每个表单可以有不同数量的用户创建的输入字段,并希望以一种简单的方式以相同的方式存储所有表单。我的问题是,当我序列化表单时,使用JQuery将其附加到隐藏的输入字段,然后将表单和其他一些信息发送到数据库,其余信息到达数据库但我仍然有一个空白在序列化形式的位置。如果有人能够指出我出错的地方和/或解释应该如何做,我将非常感激!非常感谢你!
以下是我将数据发送到数据库的方式:
$orderDate = mysql_prep($_POST["orderDate"]);
$orderName = mysql_prep($_POST["orderName"]);
$formSerialized = mysql_prep($_POST["formSerialized"]);
$query = "INSERT INTO test (orderDate, orderName, orderSerialized) VALUES ('{$orderDate}', '{$orderName}', '{$orderSerialized}')";
$result = mysqli_query($connection, $query);
以下是我尝试将序列化表单附加到的隐藏字段:
<input type="hidden" id="phpVar" name="phpVar" value="<?php echo $var; ?>">
这是JQuery:
var formSerialized = $("form").serialize();
$("#phpval").val(formSerialized);
答案 0 :(得分:1)
看起来您正在序列化表单,然后将其插入到id为phpval的元素中。
您应该使用jQuery ajax函数发送序列化表单,然后将其发布到您的php页面。 REF。 http://api.jquery.com/jquery.ajax/
$('#submit').click(function(){
var form = $('#my_awesome_form');
$.ajax( {
type: "POST",
url: form.attr( 'action' ),
data: form.serialize(),
success: function( response ) {
console.log( response );
}
});
});