我尝试使用jquery更新/编辑,然后在php的帮助下将其保存到数据库
问题是 我无法将新数据传递给php 或 php没有从jquery接收数据 < / p>
这是我的表单
<form method="POST" name="postForm" action="update.php">
<div id="edit">
First name:<input type="text" id="firstname" value="<?php echo $row['firstname']; ?>">
</div>
</form>
<button id="button">Edit</button>
这是我的 jquery
的脚本jQuery("#edit").dialog({
modal: true,
resizable: false,
draggable: false,
autoOpen: false,
width: 400,
buttons: [
{
text: "Ok",
click: function() {
jQuery.ajax({
type: "POST",
dataType: "json",
url: "update.php",
async:true,
data: { dataToUpdate: jQuery('#edit').attr('value') }
});
}
},
{
text: "Cancel",
click: function() {
jQuery(this).dialog( "close" );
}
}
]
});
// Link to open the dialog
jQuery("#button").click(function(event) {
jQuery("#edit").dialog("open");
event.preventDefault();
});
这是我的 PHP
$id = $_GET['id']; // i dont know if i should put it or not to identify the info i want to edit
$firstname = $_POST['firstname'];
$sql = "UPDATE info SET
firstname='$firstname' WHERE id=$id";
$result = mysql_query($sql);
echo json_encode($result);
答案 0 :(得分:1)
您的问题出在此处:data: { dataToUpdate: jQuery('#edit').attr('value') }
正确:data: { firstname: $('#firstname').val() }
现在它应该可行
答案 1 :(得分:0)
您错过了表单name
标记中的input
属性,这就是为什么PHP没有收到变量...
<input type="text" id="firstname" name="firstname" value="<?php echo $row['firstname']; ?>">
或者确保使用JQuery正确传递值。
答案 2 :(得分:0)
jQuery('#edit').attr('value') }
它的div不包含value属性,请使用此选择器:
jQuery('#edit').attr('firstname')
答案 3 :(得分:0)
我得到了正确的答案就是我改变了
data: { dataToUpdate: jQuery('#edit').attr('value') }
jQuery脚本
data: { "firsname":jQuery("#firstname").val()}