اضافه کردن نوت جدید بصورت ایجکس
سلام و عرض ادب
من الان بخش چهار آموزش (نهایی سازی پروژه نوت بخش اول) هستم. میخواستم بدونم چجوری میشه بدون ریلود شدن صفحه و با ایجکس نوت اضافه کرد.کدهایی که خودم اضافه کردم اینا هستن و ممنون میشم اگه تکمیلشون کنید:
برای صفحه home :
$(function(){
$('#submitForm').hide(); // اضافه کردن فرم سابمیت به صفحه هوم با کلیک رو دکمه درج یادداشت
$('#submitBotton').click(function(){
$('#submitForm').toggle();
});
});
// گذاشتن onclick برای فرم اضافه شده و ارسال ریکوئست ایجکس از طریق آن
function ajaxSubmit(){
var title = $('#noteTitle').val();
var description = $('#noteDescription').val();
$.ajax('/notes-v2/note/submit/' + title + '/' + description, {
type: 'post',
dataType: 'json',
success: function(data) {
}
});
}
متد سابمیت:
public function submit($title, $description){
if ($title != null){
$this->submitNote($title, $description);
} else {
$this->failSubmit();
}
}
private function submitNote($title, $description){
if (!isset($_SESSION['user_id'])){
header("Location: /notes-v2/page/home");
exit;
}
$userId = $_SESSION['user_id'];
NoteModel::insert($title, $description, $userId);
echo json_encod(array(
'status' => 'hello from successSubmit',
'title' => $title,
'description' => $description,
));
}
private function failSubmit(){
echo json_encode(array(
'status' => 'hello from failSubmit',
));
}
<div id="submitForm">
<div class="tac">
<div>
<br/><br/><br/>
<input id="noteTitle" type="text" placeholder="عنوان" name="title" style="width: 300px"><br>
<br>
<textarea id="noteDescription" placeholder="توضیحات" name="description" style="width: 300; height: 200px; resize: none;">توضیحات </textarea><br>
<br>
<br>
<span onclick="ajaxSubmit()" id="submitBotton2" class="btn-blue">درج یادداشت</span>
</div>
</div>
</div>
من قبلا این کارو انجام دادم راهش اینه که شما با استفاده از ajax اطلاعات فرم رو ارسال میکنیم بعد سمت کد های php میایم یه رکورد تو دیتابیس ثبت میکنم (منظورم همی نوت جدید هس)بعد با چند تا دستور تعداد رکورد های مربوط به شخص رو میکشیم بیرون و اخرین رکورد ثبت شده رو پیدا میکنیم و با استفاده از تابع ob_start اطلاعات اخرین رکورد رو میریزم تو یه ارایه ، این کارو که انجام دادیم با استفاده از تابه json_encoded نوت رو برمیگردونم و به عنوان data به success ای جکس ارسال میشه و اونجا با استفاده از کد های جی کوئری نوتی که کاربر ثبت کرد رو به ته نوت ها اضافه میکنیم
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .