Коллеги, прошу помощи, весь уже извелся, ничего не помогает! Написал на jQuery в соответствии со всеми доками простейший скрипт отправки формы и обработки полученного ответа. Если ответ wrongcode, предлагается повторить ввод каптчи, иначе идет доабвление отправленного комментария на страницу методом .append().
Исходный код таков:
| Код | <script type="text/javascript" src="/js/jquery-1.3.2.js"></script> <script> $(document).ready(function(){
$("a.commenthref").click(function () { if ( $("#commentform").is(":hidden") ) $("#commentform").slideDown("slow"); else $("#commentform").slideUp("slow"); return false; });
function retrieve (data){ if(data == "wrongcode") { alert("Неправильно введен проверочный код, попробуйте еще раз"); document.getElementById('kcaptcha').src="/kcaptcha/index.php?rnd="+Math.random(); $("#addbutton").val("Добавить комментарий").removeAttr("disabled"); return false; } else { $("#comments").append(data); $("#addcomment input").val(""); $("textarea").val(""); $("#commentform").slideUp("slow"); document.getElementById('kcaptcha').src="/kcaptcha/index.php?rnd="+Math.random(); $("#addbutton").val("Добавить комментарий").removeAttr("disabled"); } }
$("form#addcomment").submit(function() { $.ajax({error: function(XMLHttpRequest, textStatus, errorThrown) { alert("Error AJAX: " + textStatus + ", " + errorThrown); } }); var comname = $("#comname").val(); var comtext = $("#comtext").val(); var comkey = $("#comkey").val();
if (comname != "" && comtext != "" && comkey != "") { $("#addbutton").val("Отправляем...").attr("disabled","disabled"); if ($.browser.msie) { $.get("/comment/comment.php", {pid: "3162", ptype: "article", name: comname, text: comtext, keystring: comkey}); $("#resultcomment").load("/temp/cache/addcommentresult.txt"); } else { $.post("/comment/comment.php", { pid: "3162", ptype: "article", name: comname, text: comtext, keystring: comkey }, retrieve); }
/* //$.ajax({ // url: "/comment/comment.php", // type: "POST", // dataType : "json", // data: { // pid: "3162", // ptype: "article", // name: comname, // text: comtext, // keystring: comkey // }, // success: function(data) { // alert(data) // }, // error: function(XMLHttpRequest, textStatus, errorThrown) { // alert("Error AJAX: " + textStatus + ", " + errorThrown); // } // }); */ } return false; });
}); </script>
<div id="resultcomment"></div>
<div style="display:block;padding:10px 10px 0 20px"><a href='#' class='commenthref'><img src="/images/addcomment.jpg" border="0" alt="Добавить комментарий"/></a></div> <div class='comment' style="border:none; display:none" id="commentform"><p> <table width='400px'><tr> <form name='addcomment' id='addcomment' action='/comment/comment.php' method='POST'> <input type='hidden' name='pid' value='3162' /> <input type='hidden' name='ptype' value='article' /> <td width='200px' nowrap>Ваше имя: </td> <td><input type='text' name='name' id='comname' value='' style="width:100%" /></td> <tr> <td colspan="2">
<textarea name='text' id='comtext' rows='4' cols='20' style='width:100%'></textarea><br> </td> </tr><tr> <td nowrap>Код с картинки: <input type=text name='keystring' id='comkey' value='' size='8'></td> <td align="right"><img id="kcaptcha" src="/kcaptcha/index.php?PHPSESSID=a1b5ed2e85576bfb6f6303c90622e218"></td> </tr><tr><td colspan="2"><input type='submit' style='width:100%' id='addbutton' value='Добавить комментарий' /></td></tr> </form>
|
Как видите, я испробовал все. Если слишком непонятно читать весь код, вот главный вызов функции post, который то и выдает ошибку в IE:
| Код | $.post("/comment/comment.php", { pid: "3162", ptype: "article", name: comname, text: comtext, keystring: comkey }, retrieve);
|
Подскажите пожалуйста, как быть? |