Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: блокировка enter
 
 автор: AlexSol   (11.05.2006 в 12:25)   письмо автору
 
 

есть следующее:

<script language="javascript" type="text/javascript">
function init(par){
if(par=="площадь")
calculate.calk.value='';
}
function calc(par){
var myVal=par;
if (isNaN(myVal)) {
} else {
calk=<%=RSMain("M_Price")%>*myVal;
multipl.innerText="$"+calk+".-";
}
}
function numeralsOnly(evt) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
        ((evt.which) ? evt.which : 0));
    if ((charCode > 31 && (charCode < 48 || charCode > 57))) {
        return false;
    }
    return true;
}
</script>



<form  name="calculate" >
<input type="text" name="calk" size="10" onFocus="init(this.value)"  onkeypress="return numeralsOnly(event)" onkeyup="calc(this.value)" value="площадь">
<br>
<br>
<span id="multipl">$201.-</span>
<br>
<br>
<input type="image" src="img/add.gif" width="104" height="28" alt="добавить к заказу">
</form>


нужно заблокировать enter.

нашел такой вариант:

function blockEnter(evt) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode :
        ((evt.which) ? evt.which : evt.keyCode);
    if (charCode =  = 13 || charCode =  = 3) {
        return false;
    } else {
        return true;
    }
}
...
<input type="text" name="search" size="40" onkeydown="return blockEnter(event)" />


подскажите, что нужно изнего взять, или можно сделать короче?

   
 
 автор: Бог Зайцев   (11.05.2006 в 12:32)   письмо автору
 
   для: AlexSol   (11.05.2006 в 12:25)
 

Я попробую прокомментироваьт код, думаю станет понятно, что тебе нужно из этого )

/*
Функция запускается при нажатие клавиши и отменяет нажатие клавиши ентер
*/
function blockEnter(evt) {  
    evt = (evt) ? evt : event;  // Эта строчка нужна для мозилы,  отлавливаем события
    var charCode = (evt.charCode) ? evt.charCode :  ((evt.which) ? evt.which : evt.keyCode);  // Здесь мы вытаскиваем код нажатой клавиши, опять приходится извращаться из-за кроссбраузерности
    if (charCode == 13) {  
        return false;  // Код ентера - 13, если так, отменяем нажатие клавиши 
    } else { 
        return true; 
    } 

... 
<input type="text" name="search" size="40" onkeydown="return blockEnter(event)" />


Как видишь нужно все здесь :)

   
 
 автор: AlexSol   (11.05.2006 в 12:36)   письмо автору
 
   для: Бог Зайцев   (11.05.2006 в 12:32)
 

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

   
 
 автор: Бог Зайцев   (11.05.2006 в 12:36)   письмо автору
 
   для: Бог Зайцев   (11.05.2006 в 12:32)
 

Хотя я не совсем понял, из приведенных данных, зачем нужно блокировать ентер :)

   
 
 автор: AlexSol   (11.05.2006 в 12:40)   письмо автору
 
   для: Бог Зайцев   (11.05.2006 в 12:36)
 

чтоб данные не отправлялись никуда (пока) там все действие на keyUp построено

   
 
 автор: AlexSol   (11.05.2006 в 13:08)   письмо автору
 
   для: AlexSol   (11.05.2006 в 12:40)
 

вопрос снят, надобыло в

function blockEnter(evt) { 
    evt = (evt) ? evt : event; 
    var charCode = (evt.charCode) ? evt.charCode : 
        ((evt.which) ? evt.which : evt.keyCode); 
    if (charCode =  = 13 || charCode =  = 3) { 
        return false; 
    } else { 
        return true; 
    } 

... 
<input type="text" name="search" size="40" onkeydown="return blockEnter(event)" />

убрать пробелы между = =

   
 
 автор: 12345   (11.05.2006 в 14:07)   письмо автору
 
   для: AlexSol   (11.05.2006 в 13:08)
 

Вообще, достаточно <form ... onsubmit=return!1>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования