我有一个表单,我必须选择一个类别,根据该类别显示一些搜索条件字段以从用户获得输入,然后显示该人的所有字段以使用户能够修改任何字段的数据并重新保存已编辑的数据。但是当我在搜索条件字段中输入数据并按下按钮以显示整个数据时,页面会重新加载,然后我必须再次选择条件,以便根据条件将编辑后的数据保存在正确的数据中。 Plz任何人都可以帮我阻止页面重新加载..
代码是::
<button type="submit" name="edit" id="edit" onclick="editUser()">EDIT </button>
</div>
<?php
function editUser()
{
$empCode=$_POST['empCode'];
$category=$_POST['category'];
$con=mysql_connect("localhost", "root", "proximitycard") or die (mysql_error ());
mysql_select_db("abc") or die(mysql_error());
if($category=='staff')
{
$sql='SELECT b.emp_code,a.name,a.father_name,a.date_of_applying,b.designation FROM person_master a, staff b WHERE b.emp_code ="'.$empCode.'" AND a.id = b.p_id and a.record_status=0 and b.record_status=0' ;
$result=mysql_query($sql);
while($row = mysql_fetch_array($result))
{
?>
<span> Name </span><input type="text" name="name" id="name" value="<?php echo "$row[1]";?>">
<span> Father's Name </span> <input type="text" name="fatherName" id="fatherName" value="<?php echo "$row[2]";?>">
<button type="submit" name="save" id="save" onclick="updateUser()"> Update </button>
<?php
}
}}
function updateUser()
{
$empCode=$_POST['empCode'];
$name=$_POST['name'];
$category=$_POST['category'];
$fatherName=$_POST['fatherName'];
$con=mysql_connect("localhost", "root", "proximitycard") or die (mysql_error ());
mysql_select_db("abc") or die(mysql_error());
if($category=='staff')
{
$sql='update staff b, person_master a set a.name="'.$name.'",a.father_name="'.$fatherName.'" where b.emp_code="'.$empCode.'" and a.id=b.p_id';
$result=mysql_query($sql);
}
}
if(isset($_REQUEST['edit']))
{
editUser();
}
if(isset($_REQUEST['save']))
{
updateUser();
}
?>
答案 0 :(得分:2)
看,我会给你一个基本的伪示例,因为你没有为我们提供几乎足够的上下文。你需要一个AJAX请求。
我们将jQuery
用于AJAX request
。
$(document).ready(function() {
// don't know your select id so whatever
$('select').on('change', function(e) {
e.preventDefault();
$.ajax({
url: 'path_to_file.php',
type: 'post',
data: 'YOUR CRITERIA DATA TO SEND TO THE PHP SCRIPT'
}).success(function(data) {
console.log(data);
});
})
});
现在请求已发送,我们需要通过php处理它。 ( 我假设您有一个脚本将发送/回显条件数据 )
但是一个简单的测试就是将它发送到一个返回json
的文件( 通常用于ajax请求,因为它很棒 )。
<?php echo json_encode($_POST); ?>
会发回发布到PHP脚本的内容。您可以在控制台中验证。
( 请参阅上面ajax请求中的console.log(data);
行? )