У меня есть небольшая система комментирования, которую я модифицировал и пытаюсь внедрить в сайт. Это в «Аяксе». Когда jQuery с HTML встроен в страницу, система комментирования работает нормально - т.е. когда пользователь нажимает кнопку отправки, код возвращает «false», останавливает обновление страницы и отправляет данные. НО, когда я реализовал код на своем сайте и поместил его в отдельный файл .js, код по какой-то причине не работает должным образом. Я имею в виду - страница после клика обновляется. Почему это так ? Код не изменяется вообще - когда он сам по себе, он работает, но не на сайте index.php при реализации. Я попытался изменить тип ввода на «кнопку» и вызвать функцию из onclick - страница не обновляется, но и не вводит ввод. У меня заканчиваются идеи о том, почему это так. Вот код:
$(document).ready(function () {
$(".submit").click(function () {
var name = $("#name").val();
var email = $("#email").val();
var comment_area = $("#comment_area").val();
var dataString = 'name=' + name + '&email=' + email + '&comment_area=' + comment_area;
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
var emailaddressVal = $("#email").val();
if (name == '' || !emailReg.test(emailaddressVal) || comment == '') {
alert('Please enter valid data and type in message'); return false;
}
else {
$.ajax({
type: "POST",
url: "comments.php",
data: dataString,
cache: false,
success: function (html) {
$("#com_list").append(html);
$("#com_list").fadeIn("slow");
$("#flash").fadeOut('fast');
}
});
} return false;
});
});
//END
//COM LIST
//HTML / PHP
<div class="slider">
<form id="comment_form" name="comment_form" method="post" action="#"
enctype="multipart/form-data">
<input type="text" id="name" name="name" maxlength="16"/> Name<br /><br/>
<input type="text" id="email" name="email"/> Email (will not show)<br /><br/>
<textarea id="comment_area" name="comment_area" maxlength="1000"></textarea><br /><br/>
<input type="submit" class="submit" name="submit_comment" value="submit"/> &
nbsp;comment or <a href="index.php" id="cancel"
onmousedown="$('.slider').hide();$('#com_list').show();"><u>cancel</u></a>
</form>
</div>
// comments.php
if($_POST) {
$name=$_POST['name'];
$email=$_POST['email'];
$comment_area=$_POST['comment_area'];
//$lowercase = strtolower($email);
//$image = md5( $lowercase );
$insert = mysqli_query($connect,"INSERT INTO comments (name,email,comment,com_date)
VALUES ('$name','$email','$comment_area',curdate())");
}
////////////////
Спасибо за любые предложения ..