[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Отправка формы по Enter jQuery
Лена
форма должна отправляться по нажатию клавиши Enter.
$(document).bind('keydown', 'Enter', document.enterform.submit());

И сама форма:


<form action="" method="post" name="enterform">
<div
id = "form_label">Логин:</div>
<input
name="log" id="log" type="text" value="" class="logins">
<div
id = "form_label">пароль:</div>
<input
name="pass" id="pass" type="password" value="" class="logins"><br />
<input
name="Auth" type="button" class="but" id="butt" value="' . $parser->gt("enter_") . '">
</form>


почему-то при нажатии ничего не происходит



Спустя 30 минут, 53 секунды (2.06.2011 - 14:53) YVSIK написал(а):
<form action="" method="post" name="enterform">

action="тута" должно быть куда отправлять

Спустя 2 минуты, 29 секунд (2.06.2011 - 14:56) Игорь_Vasinsky написал(а):
YVSIK
глупости говоришь, пустой акшен - работа на этой же страницы

Лена
ошибки в JS всплывают какие нить? может не имя кнопы нужно - а её код, глянь в гугле коды кнопок wink.gif

Спустя 5 минут, 49 секунд (2.06.2011 - 15:01) sharki написал(а):
Этого хватит думаю

<form action="" method="post" name="enterform">
<div
id = "form_label">Логин:</div>
<input
name="log" id="log" type="text" value="" class="logins">
<div
id = "form_label">пароль:</div>
<input
onkeydown="if (event.keyCode == 13){document.enterform.submit();}" name="pass" id="pass" type="password" value="" class="logins"><br />
<input
name="Auth" type="button" class="but" id="butt" value="' . $parser->gt("enter_") . '">
</form>



Спустя 1 минута, 42 секунды (2.06.2011 - 15:03) Игорь_Vasinsky написал(а):
Цитата
vent.keyCode == 13

ну что и требовалось доказать wink.gif

Спустя 2 минуты, 6 секунд (2.06.2011 - 15:05) Лена написал(а):
sharki
попробовала, почему-то форма не посылается.
делаю alert("asdf"); - по нажатию кнопки, ничего не выскакивает.
у меня действительно принимающий скрипт- обработчик.

Спустя 10 минут, 4 секунды (2.06.2011 - 15:15) sharki написал(а):
Попробуй этот обработчик использовать
$('.logins').keydown(function(event) {
if (event.keyCode == '13') {
document.enterform.submit();
}
}
);

Спустя 3 минуты, 27 секунд (2.06.2011 - 15:19) Лена написал(а):
попробовала, не работает.

Спустя 1 минута, 36 секунд (2.06.2011 - 15:20) sharki написал(а):
Лена
Щас проверю cool.gif

Спустя 2 минуты, 18 секунд (2.06.2011 - 15:23) sharki написал(а):
Ой надо же, всё отправилось dry.gif http://aticka.ru/test.php

Спустя 11 минут, 8 секунд (2.06.2011 - 15:34) Guest написал(а):
У меня сама форма отправляется через ajax, эта же страница ловит и обрабатывает результат.
Когда я нажимаю на кнопку отправки - все нормально, если через Enter - через аякс не работает.

Спустя 1 минута, 57 секунд (2.06.2011 - 15:36) sharki написал(а):
Guest
Заверни аякс блок кода в обертку в виде пользовательской функции, и вызывай её в том обработчике

Спустя 2 минуты, 26 секунд (2.06.2011 - 15:38) Guest написал(а):
Обработчик у меня идет вот как:

<script type="text/javascript">

$(document).ready(function(){

$("#butt").click(function()
{
var log = $("#log").val();
var pass = $("#pass").val();

if ((log!="")&&(pass!="")){
$.ajax({
type: "POST",
url: "' . $parser->makeUrl($parser->getPageId()) . '",
data: "action=adduser&log="+log+"&pass="+pass,
success: function(html){
$("#mess").html(html).addClass(\'messageboxok\').fadeTo(3000,1);
//document.location = "' . $parser->makeUrl('familytree_page_tree') . '";
}
}
);
}else{
if ((log=="")&&(pass=="")) alert ("' . $parser->gt("nologpass",__FILE__) . '");
else if (log=="") alert ("' . $parser->gt("nolog",__FILE__) . '");
else if (pass=="") alert ("' . $parser->gt("nopass",__FILE__) . '");
}
}
);
});



</
script>


Как ее сюда завернуть?

Спустя 2 минуты, 43 секунды (2.06.2011 - 15:41) sharki написал(а):
    $(document).ready(function()
{
$('.logins').keydown(function(event) {
if (event.keyCode == '13') {
buttAjax();
}
}
);

});


function buttAjax() {
var log = $("#log").val();
var pass = $("#pass").val();

if ((log!="")&&(pass!="")){
$.ajax({
type: "POST",
url: "' . $parser->makeUrl($parser->getPageId()) . '",
data: "action=adduser&log="+log+"&pass="+pass,
success: function(html){
$("#mess").html(html).addClass(\'messageboxok\').fadeTo(3000,1);
//document.location = "' . $parser->makeUrl('familytree_page_tree') . '";
}
}
);
}else{
if ((log=="")&&(pass=="")) alert ("' . $parser->gt("nologpass",__FILE__) . '");
else if (log=="") alert ("' . $parser->gt("nolog",__FILE__) . '");
else if (pass=="") alert ("' . $parser->gt("nopass",__FILE__) . '");
}
}



А если еще надо отправлять данные при щелче на кнопку, то вешай онклик на кнопку с вызовом этой функции

Спустя 19 минут, 23 секунды (2.06.2011 - 16:00) Guest написал(а):
Сделала вот так:

$src = '<script type="text/javascript">

$(document).ready(function(){

$(\'.logins\').keydown(function(event) {
if (event.keyCode == \'13\') {
buttAjax();
}
}
);

$("#butt").click(function(){
buttAjax();
});

function buttAjax() {
var log = $("#log").val();
var pass = $("#pass").val();

if ((log!="")&&(pass!="")){
$.ajax({
type: "POST",
url: "' . $parser->makeUrl($parser->getPageId()) . '",
data: "action=adduser&log="+log+"&pass="+pass,
success: function(html){
$("#mess").html(html).addClass(\'messageboxok\').fadeTo(3000,1);
//document.location = "' . $parser->makeUrl('familytree_page_tree') . '";
}
}
);
}else{
if ((log=="")&&(pass=="")) alert ("' . $parser->gt("nologpass",__FILE__) . '");
else if (log=="") alert ("' . $parser->gt("nolog",__FILE__) . '");
else if (pass=="") alert ("' . $parser->gt("nopass",__FILE__) . '");
}
}
}
);



</
script>
';



по клику на кнопке - работает, если без клика - не возвращает результат, у меня должно выводиться сообщение, выводится пустой блок и я снова вижу перед собой пустую форму.

Спустя 2 минуты, 49 секунд (2.06.2011 - 16:03) sharki написал(а):
Guest
пользовательскую функцию не желательно объявлять внутри $(document).ready(function(){

таааак, теперь трабл с отправкой формы, хммм...щас пойду проверю dry.gif

Спустя 5 минут, 21 секунда (2.06.2011 - 16:08) sharki написал(а):
Чуть упростил для теста. http://aticka.ru/test.php
<script type="text/javascript">
$(document).ready(function(){

$('.logins').keydown(function(event) {
if (event.keyCode == '13') {
buttAjax();
}
}
);

$("#butt").click(function(){
buttAjax();
});


});

function buttAjax() {
var log = $("#log").val();
var pass = $("#pass").val();

if ((log!="")&&(pass!="")){
$.ajax({
type: "POST",
url: "ajax_1.php",
data: "action=adduser&log="+log+"&pass="+pass,
success: function(html){
$("#logff").html(html);
}
}
);

}
}




</script>



<form action="" method="post" name="enterform">
<div
id = "form_label">Логин:</div>
<input
name="log" id="log" type="text" value="" class="logins">
<div
id = "form_label">пароль:</div>
<input
name="pass" id="pass" type="password" value="" class="logins"><br />
<input
name="Auth" type="button" class="but" id="butt" value="ваывава">
</form>

<div
id="logff"></div>

Спустя 48 минут, 8 секунд (2.06.2011 - 16:56) Лена написал(а):
Спасибо. У меня в коде скобка лишняя была.
+1 в репутацию через пару дней добавлю. Сейчас пока меня заблокировали )

Спустя 3 минуты, 25 секунд (2.06.2011 - 17:00) sharki написал(а):
Вот и славненько smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.