سلام مشکلی که من دارم در مورد این مبحث این بود که اضافه کردن با فرم ajax در قسمت فولدر مشکل ساز شده
کد هایی ک نوشتم به این صورت هستش
<form action="process/folder.php" method="POST" id="form-folder">
<input type="text" id="nameFolder" placeholder="نام فولدر خود را بنوسید ... " name="name">
<input type="text" id="labelFolder" placeholder="برچسب فولدر خود را بنوسید ... " name="label">
<button id="addFolder">اضافه کردن </button>
</form>
فایل فرم html اضافه کردن فولدر
function addFolder($name,$label){
global $pdo;
$currentUser = currentUser();
$sql="INSERT INTO `tbl_folder` (`name`,`label`,`user_id`) VALUES (:name,:label,:id) ";
$stmt=$pdo->prepare($sql);
$stmt->execute(['name'=>$name,'label'=>$label,'id'=>$currentUser]);
return $pdo->lastInsertId();
}
تابع addFolder
$(document).ready(function () {
$("#addFolder").click(function (e) {
e.preventDefault();
var input=$("#nameFolder");
var label=$("#labelFolder");
var form_folder=$("#form-folder");
$.ajax({
url:"process/folder.php",
type:"post",
data:form_folder.serialize(),
success:function (res) {
if(res){
$(`<li class='list-item'><a href='?folder_id=${res}' } ><i class='fa fa-folder icon-style'></i> ${input} </a></li>`).appendTo('.folder-list');
}else
{
alert(res);
}
}
});
})
})
کد ajax من هستش
کار میکنه اما مشکلی ک هست وقتی اضافه میکنم اول
[object,object]
نشون میده رو صفحه بعد که رفرش میکنم تازه مقدارم میاد همه چیش اوکیه اضافه میکنه اما حس میکنم یک جای کار اشتباهه
سلام دوست عزیز
کد افزودن فولدر شما مشکل داره (شما در بخش اجرای درخواست execute نام پارامترها رو اشتباه وارد کردین)
به اینصورت ویرایش کنید:
function addFolder($name,$label){
global $pdo;
$currentUser = currentUser();
$sql="INSERT INTO `tbl_folder` (`name`,`label`,`user_id`) VALUES (:name,:label,:id) ";
$stmt=$pdo->prepare($sql);
$stmt->execute([':name'=>$name,':label'=>$label,':id'=>$currentUser]);
return $pdo->lastInsertId();
}
در کد جاوااسکریپت هم در قسمت افزودن فولدر به لیست باید مقدار فیلد رو بگیرید، در صورتی که شما آبجکت فیلد رو جایگذاری کردین
به اینصورت ویرایش کنید:
$(`<li class='list-item'><a href='?folder_id=${res}' } ><i class='fa fa-folder icon-style'></i> ${input.val()} </a></li>`).appendTo('.folder-list');
خط ابتدایی بررسی لود شدن کامل صفحه رو به اینصورت ویرایش کنید:
jQuery(document).ready(function ($) {