Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2016, 13:25   #1
Коза с капустой
 
Регистрация: 09.10.2016
Сообщений: 4
Подмигивание Преобразование строчной буквы в заглавную...не вижу ошибку!!!

Код:
<!DOCTYPE html>
<html>
<head>
<script>
var $click=0;
var $dblClick=0;
var $onMouseOver=0;


function SnowAll()
{
  document.getElementById('div2').innerHTML='click: '+$click+'<br>'+
                                            'dblclick: '+$dblClick+'<br>'+
											'onMouseOver: '+$onMouseOver+'<br>';}
function my_click() {$click++; SnowAll();}
function my_dblClick(){ $dblClick++; SnowAll();}
function my_onMouseOver(){$onMouseOver++; SnowAll();}
								
function My_function (reset)
{
    alert (reset);
}	


function My_function (reset)
{
    document.getElementById('div2').innerHTML = '';
    alert (reset);
}	
input.oninput=function(){exchange.innerHTML=this.value.replace(/a|а/g, "A")}											
</script>
</head>
<body>
<div id=div1 style="border: 1px solid black;"
             onClick="my_click();"
			 onMouseOver="my_onMouseOver();">

Some text...<br>
<input type=text>
</div><br>
<div id=div2 style="border: 1px solid black;">
Some more text.....
</div>
<br>
 <input onclick="My_function ('reset')" type="button" value="Очистить" ><br><hr>
 <input id="input" />
<div id="exchange"></div>
</body>
</html>
Почему, эта функция не работает?...Спасибо)


______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.

Последний раз редактировалось Alex11223; 10.10.2016 в 13:44.
Коза с капустой вне форума Ответить с цитированием
Старый 10.10.2016, 13:45   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Нажмите F12 и откройте консоль JS.
Там нет ошибок?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 10.10.2016, 15:15   #3
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Дуло в том что ты пытаешся повесить функцию для обработаки на события, на неизвестный объект. Если я дал id="exchange" моему input, то это еще не значить что мне автоматичести доступна переменная с именем "exchange"

Сначала нужно:
Код:


// есди сделать вот так то будет ошибка, так как еще нет вообще данных про "exchange"
exchange.onclick = foo();

// Тут мы "бросаем якорь" на елемент у которого id "exchange" 
var exchange = getElementById("exchange"); 

// и вот теперь уже можно делать все что нужно, так как мы привязали переменную
// "var exchange" к елементу '<div id="exchange"/>'

exchange.onclick = foo();
exchange.onchange = boo();
exchange.special_obcject = {
    "x" : 23,
    "y" : 32,
};
Вот рабочий код, посмотри что там и как устроенно.

Код:
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8"/> 

<script>
    var $click=0;
    var $dblClick=0;
    var $onMouseOver=0;

    var div2;
    var my_input;
    var exchange;

    // вешаем свою функцию на событие "load" у window object. 
    window.addEventListener('load', function(){

        page_is_loaded();       


    });


    function page_is_loaded(){

        // Это функция которая завязывает нам все переменные под все елементы,
        // Но делает она это только тогда когда вся разметка HTML уже полностью доступна.

        // Так как если пытаться достучаться до елемента слишком рано, то его там может еще не быть,
        // что может привести код в нерабочае состояние.

        div2 = document.getElementById('div2');
        exchange = document.getElementById('exchange');
        my_input = document.getElementById('my_input');

        my_input.oninput = function(){

            exchange.innerHTML = this.value.replace(/A/gi, "a");

        }


    }

    function SnowAll() {
        div2.innerHTML = 'click: '+$click+'<br>';
        div2.innerHTML += 'dblclick: '+$dblClick+'<br>';
        div2.innerHTML += 'onMouseOver: '+$onMouseOver+'<br>';

    }

    function my_click() { $click++; SnowAll(); }
    function my_dblClick(){ $dblClick++; SnowAll(); }
    function my_onMouseOver(){ $onMouseOver++; SnowAll(); }

    function My_function (reset){
        alert (reset);
    }   


    function My_function (reset) {
        document.getElementById('div2').innerHTML = '';
        alert (reset);
    }   
    

</script>
</head>
<body>

<div id=div1 style="border: 1px solid black;" onClick="my_click();" onMouseOver="my_onMouseOver();">
    Some text...<br>
    <input type=text/>

</div>
<br>
<div id="div2" style="border: 1px solid black;">
    Some more text.....
</div>

<br>
<button onclick="My_function ('reset')">Очистить</button>
<br>
<hr>

<input id="my_input" />
<div id="exchange"></div>

</body>
</html>
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/

Последний раз редактировалось pompiduskus; 10.10.2016 в 15:35.
pompiduskus вне форума Ответить с цитированием
Старый 10.10.2016, 15:24   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

pompiduskus,
а точно можно использовать дважды одно и то же имя функции?!
Цитата:
Код:
    function My_function (reset){
        alert (reset);
    }   


    function My_function (reset) {
        document.getElementById('div2').innerHTML = '';
        alert (reset);
    }

и ещё я не понял, зачем нужны глобальные переменные
Цитата:
Код:
    var my_input;
    var exchange;
если они нигде не используются?

да, если честно, и вместо переменной div2 я бы тоже использовал document.getElementById('div2')
я не прав?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.10.2016, 15:27   #5
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Про функции верно, если честно вообще не заметил. что их там 2.
Про div2 тут уже по ситуации.

Если постоянно дергать этот елемент, то будет лучше сделать переменную.

Если это одноразовый вызов, то можно и даже нужно юзать getElementById();


Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
pompiduskus,
и ещё я не понял, зачем нужны глобальные переменные
если они нигде не используются?

Ну я и не сомнемаю что в ваших знаниях программирования =)
Просто думаю человеку так будет понятно.

Ведь в данный момент это и нужно
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/

Последний раз редактировалось pompiduskus; 10.10.2016 в 15:30.
pompiduskus вне форума Ответить с цитированием
Старый 10.10.2016, 15:30   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

pompiduskus, понятно, спасибо за ответ.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.10.2016, 18:53   #7
Коза с капустой
 
Регистрация: 09.10.2016
Сообщений: 4
По умолчанию

Я в культурном шоке!!!)
Так подробно ответил!!! Преогромнейшее, Мерси!!!!
Коза с капустой вне форума Ответить с цитированием
Старый 11.10.2016, 22:50   #8
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Приятно слышать =) Что это полечно ! Не зря писал, так сказать.
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не вижу ошибку :-( (массивы) gostix Общие вопросы по Java, Java SE, Kotlin 2 22.11.2012 03:10
не вижу ошибку, но она где-то есть lisica198808 Помощь студентам 1 06.11.2012 22:26
Преобразование в буквы (Delphi) pinch000 Общие вопросы Delphi 2 29.04.2012 20:33
преобразование маленькой буквы в заглавную-? Evgenii Общие вопросы Delphi 22 09.11.2009 18:19
Не вижу ошибку...помогите. 1 курс задача на Си good_andy Помощь студентам 6 02.01.2008 10:01