Не работает AJAX

 
0
 
JavaScript
ava
Serious2008 | 10.11.2011, 23:31
Есть вот такой вот код. Почему-то не срабатывает аякс на форму.

<head>
<script src="img/lib.js" language="javascript" type="text/javascript"></SCRIPT>
<script src="img/jquery.js" language="javascript" type="text/javascript"></SCRIPT>
<script src="img/jquery.form.js" language="javascript" type="text/javascript"></SCRIPT>
</head>
<form id="myForm" method="post" action="/poll-random.html">
<input type=submit value=Отправить>
</form>
<div id="output"></div>

<script type="text/javascript">
$(document).ready(function(){

var options = {

target: "#output",
beforeSubmit: showRequest,
success: showResponse,
timeout: 3000
};


$('#myForm').submit(function() {
$(this).ajaxSubmit(options);

return false;
});

});

// вызов перед передачей данных
function showRequest(formData, jqForm, options) {

var queryString = $.param(formData);


return true;
}

// вызов после получения ответа
function showResponse(responseText, statusText) {
$('#myForm').hide();


}
</script>
Kommentare (10)
ava
&#036;дмитрий | 10.11.2011, 23:22 #
На что ругается?
ava
Serious2008 | 10.11.2011, 23:23 #
не на что не ругается, просто берёт и открывает страницу и всё.
ava
&#036;дмитрий | 10.11.2011, 23:31 #
Если уверен что консоль ошибок пустая, то отлаживай по шагам:

1. Убедись что событие перехвачено

$('#myForm').submit(function() {
alert('step one - ok');
//$(this).ajaxSubmit(options);
return false;
});
ava
Serious2008 | 10.11.2011, 23:33 #
$дмитрий,
тут отладка немного усложняется, тем что эту форму выводит другая форма и всё аяксом.

И да не перехватывает действие.
ava
&#036;дмитрий | 10.11.2011, 23:47 #
Цитата


тут отладка немного усложняется, тем что эту форму выводит другая форма и всё аяксом.


Так выясняется наличие еще какой-то формы smile в первом сообщении я ее не вижу

später ergänzt:
Цитата


тем что эту форму выводит другая форма и всё аяксом.


Если ты, на страницу, пытаешься аяксом подгрузить какой-то JS-код, и хочешь чтобы он сразу отработал, он работать в большинстве случаев не будет
ava
Serious2008 | 11.11.2011, 00:16 #
$дмитрий,
Вот как там сейчас.


<form id="myForm" method="post" action="/poll-15-3.html">

<p align=center><b>asdasd</b></p>

<input type=radio value="0" name="vopros[]"> asdasdasd
<br><input type=radio value="1" name="vopros[]"> asdasdasdasd
<br><input type=radio value="2" name="vopros[]"> asdasdasdasd<br>&nbsp;

<input type=submit value=Отправить>



</form>



<div id="output">111</div>

<br><p align=center><a href="/poll-stat-15.html">Статистика голосований</a></p>

<script type="text/javascript">

$(document).ready(function(){



var options = {



target: "#output",

beforeSubmit: showRequest,

success: showResponse,

timeout: 3000

};



$('#output').hide();

$('#myForm').submit(function() {

$(this).ajaxSubmit(options);



return false;

});



});



// вызов перед передачей данных

function showRequest(formData, jqForm, options) {



var queryString = $.param(formData);





return true;

}



// вызов после получения ответа

function showResponse(responseText, statusText) {

$('#myForm').hide();

$('#output').show();



}

</script>

<div id='output'></div>


По итогу выполнения. Вылазит вот эта форма.


<form id="myForm" method="post" action="/poll-random.html">
<input type=submit value=Следующий опрос>
</form>
<div id="output"></div>


Я на её навешивал часть с яваскриптом, и ничего не получилось
ava
Lols | 11.11.2011, 01:49 #
И не должно было получиться, если я правильно понимаю. Или нет?
ava
Serious2008 | 11.11.2011, 13:13 #
Lols,
Сверху на странице подключены яваскрипты. И первый аяксовский запрос выполняется правильно.
А вот уже потом после появления новой формы, ничего не получается.
ava
&#036;дмитрий | 11.11.2011, 16:22 #
Цитата


А вот уже потом после появления новой формы, ничего не получается.


События нужно навешивать после того как получили новую форму
ava
Serious2008 | 11.11.2011, 20:21 #
$дмитрий,
аякс нормально срабатывает. Но второй немного неправильно, он посылает фиг знает куда. Должен был на /poll-random.html, а посылает. Вообще куда-то лесом.

<form id="myForms" method="post" action="/poll-random.html">
<input type=submit value=Отправить>
</form>
<script type="text/javascript">
$(document).ready(function(){

var options = {

target: "#outputs",
beforeSubmit: showRequest,
success: showResponse,
timeout: 3000
};


$('#myForms').submit(function() {

$(this).ajaxSubmit(options);
return false;
});

});

// вызов перед передачей данных
function showRequest(formData, jqForm, options) {

var queryString = $.param(formData);


return true;
}

// вызов после получения ответа
function showResponse(responseText, statusText) {
$('#myForms').hide();


}
</script>

<div id="outputs"></div>

Может у кого есть пример работы аякса. Где несколько разных блоков будет открывать. Т.е. вначале один, потом второй, потом третий.
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
advanced
Absenden