Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Помогите простенький пример jquery.form (https://javascript.ru/forum/jquery/12439-pomogite-prostenkijj-primer-jquery-form.html)

nel15 17.10.2010 18:29

Помогите простенький пример jquery.form
 
<html>
<head>
<script type="text/javascript" src="resources/jss/jquery.js"></script>
<script type="text/javascript" src="resources/jss/jquery.form.js"></script>

<script>
function CheckLoginData () {
  var str = $("#loginForm").serialize();
  $.post("checkLoginData.php", str, function(data) {
    $("#loginDiv").html(data);
  });
}
</script>

</head>
<body>
<div id='loginDiv'>
	<form id='loginForm' method='POST'>
		<div>
			<strong>Авторизация</strong>
		</div><br>
		<div>
			E-mail:
		</div>
		<input name='email' type='text'><br>
		<div>
			Пароль:
		</div>
		<input name='password' type='password'><br><br>
		<input onclick='CheckLoginData(); return false' type='submit' value='Войти'>
	</form>
</div>
</body>
</html>

В Опере работает, а в IE не реагироует на кнопку
method='POST' добавлено просто чтоб автозаполнение паролей работало корректно

walabyn 17.10.2010 23:21

Здравствуйте!
поставьте вместо
<input onclick='CheckLoginData(); return false' type='submit' value='Войти'>

такую версию
<button type="submit" onclick='CheckLoginData(); return false'>Войти</button>

input-submit в некоторых случаях не перехватывается jQuery.. тем более IE

nel15 17.10.2010 23:49

Не помогло, но спасибо за ответ

walabyn 18.10.2010 00:48

так... а где у Вас action в форме php-файла?

nel15 18.10.2010 01:43

Там у меня огромный код со всякими классами, но можно просто
Код:

<?php
echo "asd";
?>

Также, в Опере реагирует, в ИЕ нет

walabyn 18.10.2010 01:59

тогда странно, вот еще что заметил у Вас, Вы сериализуете данные, но принимает ли post jQuery данные в таком виде, вроде структуры у Вас получаются разные, у Вас вид
name1=value1&name2=value2&name3=value3

а надо посылать
{name1:value1, name2:value2}

nel15 18.10.2010 02:11

Спасиб, попробую, может действительно ИЕ к этому серьезней относиться

nel15 18.10.2010 02:32

Почитал про .post, данные можно вообще не отправлять
function CheckLoginData(){
$.post('checkLoginData.php', function(data) {
  $('#loginDiv').html(data);
});
}

результат тот же

walabyn 18.10.2010 02:52

тогда не знаю, последний вариант что могу предложить, это обрабатывать не onclick а присвоить БУТТОНУ id и прописать для него $("BUTTON_ID").click(function() { итп.

nel15 18.10.2010 02:59

Ура проблема решена!!!
Есть почти такая же тема http://javascript.ru/forum/jquery/36...taet-ajax.html

Я изменил php код
Код:

<?php
header("Content-type: text/html; charset=utf-8");
echo "asd";
?>

и работает!
Спасибо walabyn, что откликнулся. Да, ты был почти прав, неправильный формат был не у посылаемых данных, а у принимаемых.
А, да, тема закрыта


Часовой пояс GMT +3, время: 13:11.