|
|
|
PHP Javascript สร้าง form เพิ่มข้อมูลลงใน database ไม่ได้ครับ |
|
|
|
|
|
|
|
ผมสร้างลิ้งค์และ form แสดงความคิดเห็นแบบนี้ครับ
Code
echo '<a href="#" class="write-comment" data-id="'.$question_id.'">แสดงความคิดเห็น</a>';
<div id="form-dialog">
<form id="form-comment" method="post">
<input type="text" name="user_id" placeholder="ชื่อ *"> <br>
<textarea name="detail" placeholder="ความคิดเห็น *"></textarea><br>
<button type="submit" id="submit-comment">ส่งข้อมูล</button>
<input type="hidden" name="question_id" id="question_id">
</form>
</div>
เมื่อคลิกที่ลิ้งค์แสดงความคิดเห็นมันจะไปที่ javascript เพื่อแสดง form ซึ่ง javascript แสดงดังนี้ครับ
Code
<script>
$(function() {
$('a.write-comment').click(function(event) { //เมื่อคลิกลิงค์ "แสดงความคิดเห็น"
$('#form-comment')[0].reset();
//ปกติการคลิก <a> ทำให้เปลี่ยนหน้า และ scrollbar เลื่อนไปอยู่บนสุด
//จึงล็อก scrollbar ไม่ให้เลื่อน โดยการยกเลิกกระทำที่เป็นดีฟอลต์ของ <a>
event.preventDefault();
var t = "แสดงความคิดเห็น";
$('#form-dialog').dialog({
width: '600px',
title: t,
modal: true,
position: { my: "center", at: "center", of: window} //เป็นค่า default อยู่แล้ว
});
//กำหนดค่าให้แก่อิลิเมนต์ชนิด hidden ทั้งสองอัน
$('#link-id').val($(this).attr('data-id'));
});
$('#submit-comment').click(function() {
$('form#form-comment').ajaxForm({
url: 'save-comment.php',
type: 'post',
dataType: 'script',
beforeSend: function() {
$.blockUI({message:'<h3>กำลังส่งข้อมูล...</h3>'});
},
complete: function() {
alert("111111111111111111111111111111") // ตรงนี้สามารถแสดง alert ได้
$.unblockUI();
}
});
});
});
</script>
๋Javascript นี้ผมได้ใส่ alert() ไว้เพื่อให้ทำงานถ้าโค้ดรันมาถึง complete: function() ซึ่งผมรันแล้วโค้ดสามารถทำงานได้ถึงตรงนี้ แต่พอมันแสดง alert() แล้วก็ไม่มีอ่ะเปลี่ยนแปลงเลยครับข้อมูลก็ไม่ได้ถูก insert ลง database ผมไปใส่ echo ตรงไฟล์ save-comment.php ก็ไม่มีไรแสดงครับยังค้างอยู่ที่ form แสดงความคิดเห็น form-comment เหมือนเดิม ไม่ทราบว่าเป็นเพราะอะไรครับ
ไฟล์ save-comment.php แบบนี้ครับ
Code
<?php
include "dblink.php";
$id = $_POST['question_id'];
$user_id = $_POST['user_id'];
$text = $_POST['detail'];
echo "555555555555555555";
$sql = "INSERT INTO comment VALUES('', '$id', '$text', '$user_id', NOW())";
if(@mysqli_query($link, $sql)) {
echo "\$('#form-dialog').dialog('close');
location.reload();";
}
else {
echo "alert('เกิดข้อผิดพลาดในการบันทึกข้อมูล กรุณาลองใหม่')";
}
mysqli_close($link);
?>
Tag : PHP, JavaScript, Ajax, jQuery
|
ประวัติการแก้ไข 2017-04-01 22:39:06 2017-04-01 22:39:54
|
|
|
|
|
Date :
2017-04-01 22:37:15 |
By :
mmc01 |
View :
1600 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับไม่รู้ว่าทำอะไรไปบ้างอยู่ดีๆก็ใช้ได้เอง น่าจะไฟล์ save-comment มี } ไม่ครบหรือเกินแต่ไม่แสดง error ครับ
|
ประวัติการแก้ไข 2017-04-01 23:13:01
|
|
|
|
Date :
2017-04-01 23:12:33 |
By :
mmc01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2017-04-02 19:58:57 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|