Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Prompt(как повлиять на событие при клике?)) (https://javascript.ru/forum/misc/25664-prompt-kak-povliyat-na-sobytie-pri-klike.html)

Mike_Kharkov 12.02.2012 08:55

Prompt(как повлиять на событие при клике?))
 
Здравствуйте!
Есть поле ввода(prompt) на странице:
http://yamaradg.narod2.ru/history/mo...ipt/index.html
Не подскажите как сделать что бы при клике по полю дефолтное значение убиралось, а при клике в любоую другую зону - значение возвращалось...?
Код следующий:
var input = prompt("Введите число для определения будущей даты! \n (От 0 до 1000-чи...) ","Это будет: ");

var dayWeek = [" Воскресенье"," Понедельник"," Вторник"," Среда"," Четверг"," Пятница"," Суббота"];

var month = [" Январь"," Февраль"," Март"," Апрель"," Май"," Июнь"," Июль"," Август"," Сентябрь"," Октябрь"," Ноябрь"," Декабрь"];

function myPrompt (){
		     if (input < 1001 && input > 0) {
		     	calendar(input,dayWeek,month);
		 	}
		     else{
		     	alert("Ваши данные не соответствуют критериям ввода!"+"\n");
		     }
}

myPrompt ();

function calendar (days, month, weeks){
			     
			     if (days.lastIndexOf("11") == true || days.lastIndexOf("12") == true || days.lastIndexOf("13") == true ||  days.lastIndexOf("14") == true || Math.round(days) == 11 || Math.round(days) == 12 || Math.round(days) == 13 || Math.round(days) == 14 ) {
			     	myDay = Math.round(days) +" дней ";
			     }
			     
			     else if (Math.round(days) == 1 || days[days.length-1] ==1) {
			     	
			     	myDay = Math.round(days)+" день ";
			     }
			     
			     else if (Math.round(days) == 2 || days[days.length-1] ==2 || Math.round(days) == 3 || days[days.length-1] ==3 || Math.round(days) == 4 || days[days.length-1] ==4) {
			     	myDay = Math.round(days) + " дня ";
			     }
			     
			     else{
			     	myDay = Math.round(days)+" дней ";
			     }
			     
			     var forTime = new Date();
		         var newData = forTime.getTime() / (1000*60*60*24) + parseInt(days);
			     var WeekDays = new Date(Math.round(newData)*(24*60*60*1000));
			     
			     alert("Через "+myDay+"будет вот такая дата: "+"\n"+
		         "День недели: " + month[WeekDays.getDay()]+"\n"+
		         "Число: " + WeekDays.getDate()+"-е"+"\n"+
		         "Месяц: " +weeks[WeekDays.getMonth()]+"\n"+
		         "Год: " + WeekDays.getFullYear()+"-й"+"\n");
     
}

P.S. В js я новичёк и это мой первый скрипт. Но не могу понять как вытащить дефолтное значение из prompta и затем повлиять на него при клике?
Буду благодарен за любую ссылку на инфу по этому поводу...

nerv_ 12.02.2012 19:52

Цитата:

Сообщение от Mike_Kharkov
не могу понять как вытащить дефолтное значение из prompta

Не понятно, зачем его вытаскивать, если Вы сами его задаете.
alert( prompt("msg", 0) ); // default - 0

Mike_Kharkov 24.02.2012 19:39

Цитата:

Сообщение от nerv_ (Сообщение 156976)
Не понятно, зачем его вытаскивать, если Вы сами его задаете.
alert( prompt("msg", 0) ); // default - 0

Я хотел, что бы слова:'Это будет: ' исчезали при клике по полю ввода?

nerv_ 24.02.2012 22:06

Mike_Kharkov, если вы используете элементы форм, например, input, вероятно Вам помогут события onfocus и onblur.

Mахmaxmaximus 24.02.2012 22:19

Mike_Kharkov,
н javascripn может рабоать только с элементами станиц и положением окон браузера, доступа к всплывающему системному окну у промпта нет.


Часовой пояс GMT +3, время: 18:24.