Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> модернизировать код 
V
    Опции темы
Samotnik
Дата 1.11.2007, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 3
Всего: 191



есть код
Код

<jsp:root version="2.0"
          xmlns:jsp="http://java.sun.com/JSP/Page"
          xmlns:c="http://java.sun.com/jsp/jstl/core">

    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    <jsp:output doctype-root-element="html"
                doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
                doctype-system="http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>
        
        <title>Calculator</title>
    </head>
    <body bgcolor="pink">
      
    <form name="indicator" action="calculatorServlet" method="POST">
        <input type="hidden" name="cmd" value='0'/>
        <input type="text" name="value" value="${result}"/><br></br>
        <input type="submit" value="Remember"/>
    </form>

    <form name="operation" action="calculatorServlet" method="POST">
        <input type="hidden" name="cmd" value='1'/>
        <input type="hidden" name="value" value=' '/>
        <input type="submit" value="=" onclick="document.operation.value.value= '='; "/><br></br>
        <input type="submit" value="-" onclick="document.operation.value.value= '-'; "/><br></br>
        <input type="submit" value="+" onclick="document.operation.value.value= '+'; "/><br></br>
        <input type="submit" value="/" onclick="document.operation.value.value= '/'; "/><br></br>
        <input type="submit" value="*" onclick="document.operation.value.value= '*'; "/><br></br>
    </form>

    </body>
    </html>
</jsp:root>

желательно сделать как можно меньше строчек кода!!!  Помогите плз
PM MAIL   Вверх
GIK
Дата 1.11.2007, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый человек
**


Профиль
Группа: Участник
Сообщений: 985
Регистрация: 3.6.2005
Где: я только не небыв ал

Репутация: 6
Всего: 14



куда меньше-то?  smile 


--------------------
Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!!
Программирование - это не деятельнось! Программирование - это состояние души!
Бог - самый крутой программист.
PM MAIL ICQ   Вверх
Samotnik
Дата 1.11.2007, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 3
Всего: 191



ну к примеру что бы постоянно не писать  
document.operation....
PM MAIL   Вверх
SelenIT
Дата 1.11.2007, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Зачем вообще там javascript? Разве JSP не позволяет сделать просто что-то вроде следующего?
Код

    <form name="operation" action="calculatorServlet" method="POST">
        <input type="hidden" name="cmd" value='1'/>
        <input type="submit" name="value" value="="/><br></br>
        <input type="submit" name="value" value="-"/><br></br>
        <input type="submit" name="value" value="+"/><br></br>
        <input type="submit" name="value" value="/"/><br></br>
        <input type="submit" name="value" value="*"/><br></br>
    </form>



--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Samotnik
Дата 1.11.2007, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 3
Всего: 191



дык, нет, мне же нужно как то значение кнопки считать...
Вобщем, можно ли то, что я скинул сразу, оптимизировать или нет??
Пэ.Эс.
Я знаю, что можно.  Т.к. это мое задание (модернизировать) )))))

Это сообщение отредактировал(а) Samotnik - 1.11.2007, 15:05
PM MAIL   Вверх
SelenIT
Дата 1.11.2007, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Samotnik, зачем его "считывать"? В том варианте, что я предложил, оно придет при сабмите автоматически - серверной стороне-то без разницы, какого типа было поле value в форме, ей важно значение получить. Так что работать это будет идентично исходному варианту (с той разницей, что работоспособность будет сохраняться и при отключенном JS;).

Это сообщение отредактировал(а) SelenIT - 1.11.2007, 15:11


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Samotnik
Дата 1.11.2007, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 3
Всего: 191



SelenIT,  Ну хорошо!!  Допустим так и есть. Но у меня задание  сделать использую JavaScript !!!!   Я его выполнил, оно идеально работает, НО  ток что сказали, что можно выражение
Код

document.operation.value.value= '='; "

Заменить одним методом!!!  И не писать по сто раз эту длинную фразу. Так вот я и интересуюсь, как можно и каким образом ее заменить ?????  Как написать эту функцию?
PM MAIL   Вверх
SelenIT
Дата 1.11.2007, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Во-первых, можно заменить document.operation на this.form (оно, имхо, еще и понадежней будет). Во-вторых, можно убрать onclick-и у кнопок, а в сам form поставить
Код

... onclick="var t=event.target||event.srcElement;if(t.type&&t.type=='submit')this.value.value=t.value" ...


Цитата(Samotnik @  1.11.2007,  15:14 Найти цитируемый пост)
у меня задание  сделать использую JavaScript !!!!

...так может, это подразумевало "без перезагрузки страницы"?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Samotnik
Дата 1.11.2007, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 3
Всего: 191



SelenIT,  спс, НО  сказали что  нужна функция вместо
Код

onclick="document.operation.value.value= '='; "

и все тут  smile !  
Т.е. на каждый 
Код

<input type="submit" value="="

вызывать строку. Ведь она везде ОДНА И ТА ЖЕ. А значит ее можно заменить одной функцией и не писать по сто раз одно и тоже !!!
PM MAIL   Вверх
SelenIT
Дата 1.11.2007, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Samotnik, заменить на функцию - это, имхо, шило на мыло, а не оптимизация. Все равно придется писать в каждом onclick-е одно и то же, плюс еще саму функцию (из одной строчки) описывать. Чем не устраивает вариант c единственным oncick-ом на <form> (перехват события при его "всплытии")?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
ksnk
Дата 1.11.2007, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Цитата(Samotnik @  1.11.2007,  15:34 Найти цитируемый пост)
НО  сказали что  нужна функция

Код

function button_click(e) {
   if (e && e.form) e.form.value.value=this.value
}


Код

    <form name="operation" action="calculatorServlet" method="POST">
        <input type="hidden" name="cmd" value='1'/>
        <input type="hidden" name="value" value=' '/>
        <input type="submit" value="=" onclick="button_click(this);"/><br></br>
        <input type="submit" value="-" onclick="button_click(this); "/><br></br>
        <input type="submit" value="+" onclick="button_click(this);"/><br></br>
        <input type="submit" value="/" onclick="button_click(this);"/><br></br>
        <input type="submit" value="*" onclick="button_click(this);"/><br></br>
    </form>


Так, что-ли?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
SelenIT
Дата 1.11.2007, 17:01 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



smile все равно странные представления об оптимизации JS у начальства. Живем в эпоху сверхдинамизма, множественных addEventListener-ов и т.п., а тут человека заставляют заниматься копипастом inrinsic-обработчиков и громоздить глобальные функции для задачи, в которой JS по сути вообще не нужен. Начальству, конечно, виднее, но... неправильно это, имхо.


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Samotnik
Дата 2.11.2007, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 3
Всего: 191



ksnk,  не работает, не считает   smile

Добавлено через 5 минут и 17 секунд
Starikan
Цитата(Starikan @  1.11.2007,  23:16 Найти цитируемый пост)
почему бы не использовать систему создания динамических input для оптимизации протокольного подключения кодека к системе обработки кодов на сайте

 smile   Ты это сейчас вообще про что сказал??  
PM MAIL   Вверх
dsCode
Дата 2.11.2007, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 565
Регистрация: 8.9.2007
Где: Saint-Petersburg

Репутация: 19
Всего: 26



Samotnik, можно и так: smile
Код

<script stype="text/javascript">
function appendButtons() {
  var signs = ['+', '-', '=', '/', '*'];
  for (var k = 0; k < signs.length; k++) {
    var button = '<input type="submit" value="' + signs[k] + '" onclick="document.operation.value.value=\'' + signs[k] + '\'" />';
    document.forms['operation'].innerHTML += button + '<br />';
}
</script>

<body onload="appendButtons(); return true;">
...


Но это все, на самом деле, извраты и я бы задумался, действительно ли от меня хотят оптимизации или просто не хотят брать на работу и придумывают "интересные" задания, чтобы потом сказать "нет, надо было через функцию потоков виртуальной памяти ввода-вывода через библиотеки DLL при объектно-ориентированном подходе (С) - приблизительная цитата одного из участников форума =))". Так что, прочтите еще раз пост SelenIT'a и подумайте об этом =)

Это сообщение отредактировал(а) dsCode - 2.11.2007, 13:14


--------------------
the .code inside
:my music
PM MAIL WWW ICQ Jabber   Вверх
Samotnik
Дата 2.11.2007, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 3
Всего: 191



Цитата(dsCode @  2.11.2007,  13:04 Найти цитируемый пост)
Так что, прочтите еще раз пост SelenIT'a и подумайте об этом =)

И от того, ечли я подумаю что-то измениться??  Это ведь не моя прихоть. Я же говорил, то что я сделал, все работает!!!   Но нужно сделать через функцию, вот к примеру  ksnk,  сделал именно то, что от меня и требуется, но единственный недочет, то что калькулятор мой не считает!!!  Именно  "равно" не работает!  А все операции работают превосходно !!
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1184 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.