|
|
|
| Здравствуйте!
Помогите с освоением jQuery.
<div id="oh" style="display:none"></div>
<form id="peter">
<textarea id="area1" style="width:310px; height:93px;"></textarea>
</form>
<button id="bub" value="Send!">Send!</button>
<script type="text/javascript">
new nicEditor({buttonList : ['bold','italic','underline','strikeThrough','subscript','superscript','html','link','image','upload']}).panelInstance('area1');
$("#bub").click(function(e) {
e.preventDefault();
var newComms = $("#peter").find('.nicEdit-main').html();
$('.nicEdit-main').html('');
function success_post(adds){
$("#oh").html(adds).show('slow');
};
var dates = {new_post:newComms, auth:<?=$_SESSION['username'];?>};
$.post('mambo.php',dates,success_post,'html');
});
</script>
|
Не работает, чего-то...
Вот mambo.php из той-же директории:
<?php
echo "<pre>";
print_r($_POST);
echo "</pre>";
?>
|
Просто, хотел проверить работу $.post.
Не срабатывает чего-то функция success_post().
Хотя, если просто проверить содержимое переменной newComms, то здесь все в порядке:http://jsfiddle.net/MMzhS/215/.
Спасибо. | |
|
|
|
|
|
|
|
|
для: AlexSol
(29.06.2012 в 14:21)
| | Спасибо, но что-то нет соединения с jsfiddle.net.
В чем моя ошибка? В двух словах хотя бы! | |
|
|
|
|
|
|
|
для: Deed
(29.06.2012 в 14:28)
| | в области видимости
$.post('mambo.php',{asd:'wsx'},function(data){alert(data)}); | |
|
|
|
|
|
|
|
для: AlexSol
(29.06.2012 в 14:36)
| | Ничего не приосходит.
И при чем здесь область видимости? Функция задается и post-переменные формируются непосредственно перед $.post().
Но не происходит никаких событий. Даже див <div id="oh" style="display:none"></div> остается скрытым, хотя:
function success_post(adds){
$("#oh").html(adds).show('slow');
};
WTF??? | |
|
|
|
|
|
|
|
для: Deed
(29.06.2012 в 14:52)
| |
<script type="text/javascript">
$("#bub").click(function(e) {
alert(1)
});
</script>
|
Единичку показывает?
У формы есть штатная кнопка для отправки, submit называется, и она вполне может отправить форму, без прочих лишних кнопок. Собственно $.post метод отдать этому событию формы. | |
|
|
|
|
|
|
|
для: confirm
(29.06.2012 в 15:05)
| | Здравствуйте, confirm!!
Да куда же денется эта единичка под алертом? Конечно, показывает.
Я специально вынес сабмит за форму. Мне, в итоге, нужно добавление сложного контента с графикой и тегами без перезагрузки страницы.
Вы знаете, вот такая конструкция:
<div id="oh" style="display:none"></div>
<form id="peter">
<textarea id="area1" style="width:310px; height:93px;"></textarea>
</form>
<button id="bub" value="Send!">Send!</button>
<script type="text/javascript">
new nicEditor({buttonList : ['bold','italic','underline','strikeThrough','subscript','superscript','html','link','image','upload']}).panelInstance('area1');
$("#bub").click(function(e) {
var newComms = $("#peter").find('.nicEdit-main').html();
$('.nicEdit-main').html('');
$("#oh").html(newComms).show('slow');
});
</script>
|
Работает нормально. Как тут: http://jsfiddle.net/MMzhS/218/
У меня же вопрос - что не так в этом простеньком post-запросе? | |
|
|
|
|
|
|
|
для: Deed
(29.06.2012 в 15:18)
| | Даже показывает единицу у вас?! Будем сочинять или признаваться, что вы не проверили?
Не будет у вас никакой единицы. Вот так будет работать (выброшено все, чего у меня нет):
<?php
if(isset($_POST['auth'])) {
echo '<b>Work</b>';
exit;
}
?>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$("#bub").click(function(e) {
var dates = {new_post:'newComms', auth:1};
$.post('',dates,function(data){
$("#oh").html(data).show('slow');
},'html');
});
});
</script>
</head>
<body>
<div id="oh" style="display:none"></div>
<form id="peter">
<textarea id="area1" style="width:310px; height:93px;"></textarea>
</form>
<button id="bub">Send!</button>
</body>
</html>
|
Выполните это отдельным файлом.
Проблема не в ajax, а в том как вы обработчик объекту определили.
>Я специально вынес сабмит за форму. Мне, в итоге, нужно добавление сложного контента с графикой и тегами без перезагрузки страницы.
Вы полагаете, что место положения кнопки определяет будет перегружена страница или нет? Вот вы "воткнули" в код e.preventDefault(), а понимаете, что это означает?
PS. И разбивайте свой код, не надо такие длинные строки городить когда в этом нет нужды, читать такое... | |
|
|
|
|
 209.9 Кб |
|
|
для: confirm
(29.06.2012 в 15:31)
| | Зачем мне, попросив помощи, врать?? Посмотрите на картинку. | |
|
|
|
|
 225 Кб |
|
|
для: confirm
(29.06.2012 в 15:31)
| | И на вторую: | |
|
|
|
|
|
|
|
для: Deed
(29.06.2012 в 15:36)
| | Ну по картинке и картинка иная, в смысле структуры кода.
Но все таки уберите обработчики из html блока, зачем они там.
То что я показал выполняется, а если у вас не происходит отправки, то значит перед этим есть ошибка. Проверьте в отладчике. | |
|
|
|
|
|
|
|
для: confirm
(29.06.2012 в 15:31)
| | e.preventDefault() в моем скромном понимании, когда в форме был сабмит, выполнял роль запрета действия по-умолчанию, то есть отправки формы с перезагрузкой всей страницы.
Да, работает Ваш пример. Может быть, я неправильно задаю функцию success_post()?? | |
|
|
|
|
|
|
|
для: Deed
(29.06.2012 в 15:43)
| | http://jquery.page2page.ru/index.php5/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82_event
Это означает, что отправку формы можно прервать не зависимо от того какой кнопкой и где расположенной вы ее вызвали. | |
|
|
|
|
|
|
|
для: confirm
(29.06.2012 в 15:49)
| | Я хочу извиниться перед всеми, но ошибка была феноменально проста - я забыл сделать обрамление кавычками значение элемента post-массива "auth" - ... auth:'<?=...?>'...
Спасибо большое за помощь! | |
|
|
|