Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Js отключить сабмит по нажатию энтер
цитата
03/11/07 в 21:53
 Sterx
чтобы сабмит происходил только при клике мышкой
цитата
03/11/07 в 22:16
 sonata
А тупо сделать еще одну (невидимую?) кнопку со статусом default и с событием типа onClick='return false;' не катит?
цитата
03/11/07 в 22:47
 webboxxx
наверное нужно этой кнопке поставить type='button' вместо submit и на onClick повесить this.submit или как там это делается. на обычную кнопку ентер вроде никак не действует.
цитата
03/11/07 в 23:34
 -=Faraon=-
Код:
<html>
<body>
<script>
var post=false;
function check(d){
if(post){return true;} else {return false;}}
</script>
<form action="2.html" onsubmit="return check()">
<input type=text name=re onfocus="post=false">             
<input type=submit onmousedown="post=false" onmouseup="post=true">
</form>
</body>
</html>

Так будет вроде ничего!!! icon_smile.gif
цитата
03/11/07 в 23:41
 Sterx
попроще никак?
webboxxx:
не работает, пишет объект не поддерживает свойство
цитата
04/11/07 в 08:33
 Sterx
через конфирм сделал
цитата
04/11/07 в 08:44
 Dim82
как вариант - использовать свойство onmousedown
Код:
<button onmousedown="go()">OK</button>
цитата
04/11/07 в 13:33
 grotiker
На мой взгляд надо было просто перехватить нажатие кнопки Enter и возвращать false.
Пример:
Код:
<form action="submit.php" onKeyDown="if(event.keyCode==13){return false};">
цитата
04/11/07 в 17:00
 webboxxx
Sterx писал:
попроще никак?
webboxxx:
не работает, пишет объект не поддерживает свойство


он видимо на this.submit ругается. надо было так this.submit()
(со скобками)
цитата
05/11/07 в 01:48
 Heavy
webboxxx писал:
он видимо на this.submit ругается. надо было так this.submit()
(со скобками)

1. функция sumbit вызывается не у кнопки, а у формы, т.е. например, document.forms['форма'].submit();
2. на Enter срабатывает следующий-наиближайший "по коду" элемент сабмита (если их несколько)
3. вернуть false на onclick кнопки, вроде не покатит, false отработает только на onsubmit формы. но полюбому это не выход - т.к. при нажатии на Enter - сработает тот же onclick данной кнопки.

как вариант можно:
1. вынести кнопку сабмита, за блок <form></form> и обработать клик js-ом.
2. заменить кнопку ссылкой.
цитата
07/11/07 в 01:40
 Sterx
спасибо всем
вот загадка, в форме вместо сабмит кнопки батон кнопка
на ней онкликом функция
Код:

function check_images(form_elements,col_pics){
var count_field=0;
var full_col_elem=col_pics+1;
var curr_color_id;
for(i=0,c=form_elements.length;i<c;i++)
   {
   if (form_elements[i].name.indexOf('arr_color_id[') != -1 ) {
   curr_color_id=form_elements[i].value;
   }
   if (form_elements[i].name.indexOf('arr_images_model_code_color[') != -1 ) {
      if(form_elements[i].value){
      count_field++;
      }
   }
   if (form_elements[i].name.indexOf('file' + curr_color_id + '[') != -1 ) {
      if(form_elements[i].value){
      count_field++;
      }
   }
}
if(Math.ceil(count_field/full_col_elem) != count_field/full_col_elem || count_field == 0) alert('no!')
else document.forms['image_form'].submit()
}

так вот если условие || count_field == 0
оставить, браузер пишет
Error:Отказано в доступе.
если убрать все работает
цитата
07/11/07 в 12:52
 Heavy
могу предположить, что явамашина наплутала с приоритетами попробуй скобки принудительно расставить:

Код:

if ( (Math.ceil(count_field/full_col_elem) != count_field/full_col_elem) || (count_field == 0) ) alert('no!')
else document.forms['image_form'].submit()
цитата
07/11/07 в 13:21
 Sterx
делал
не работает
цитата
07/11/07 в 13:31
 Sterx
кажется понял
в типе "file"
просто значение 1 2 3 не катит.
должно быть чтото вроде c://blala
цитата
07/11/07 в 13:46
 Heavy
так а что ты с типом file хочешь сделать-то?
этот элемент в целях секьюрности хорошо защищен - назначить value нельзя - прочитать вроде от браузера к браузеру тоже свои заморочки. насколько помню - можно только узнать заполнено поле или нет.
цитата
07/11/07 в 18:09
 Sterx
да в общем только проверки


Эта страница в полной версии