|
|
|
| Здравствуйте коллеги, помогите пожалуйста, в js шарю еще оочень плоохо, отсюда и следующий вопрос.
function checktime() {
var pattern = /^([0-1][0-9]|2[0-3]):[0-5][0-9]$/;
var alltime=Form1.time_starthour.value +":"+Form1.time_startminuts.value;
var visible_err=document.getElementById('errdatetime');
if (!(pattern.test(alltime))) {
Form1.time_starthour.style.color='red';
Form1.time_startminuts.style.color='red';
visible_err.style.color='red';
visible_err.innerHTML="Ошибка ввода, ввдите допустимые значения";
return false;
} else {
Form1.time_starthour.style.color='#000066';
Form1.time_startminuts.style.color='#000066';
visible_err.style.color='black';
visible_err.innerHTML="";
}
}
|
Навоял вот такую вот функцию, знаю что многое вызывается не правильно, хотелось бы немного усовершенствовать следующим образом, передавать функции 3 параметра, переменную id с часами, id с минутами и id span для вывода сообщения об ошибке.
Получилось следующее, но чего-то видать не учел, помогите разобраться плииз
function checktime(time_starthour, time_startminuts, errdatetime) {
var pattern = /^([0-1][0-9]|2[0-3]):[0-5][0-9]$/;
var hrs=Form1.time_starthour;
var hrm=Form1.time_startminuts;
var alltime=hrs.value +":"+hrm.value;
var visible_err=document.getElementById(errdatetime);
if (!(pattern.test(alltime))) {
hrs.style.color='red';
hrm.style.color='red';
visible_err.style.color='red';
visible_err.innerHTML="Ошибка ввода, ввдите допустимые значения";
return false;
} else {
hrs.style.color='#000066';
hrm.style.color='#000066';
visible_err.style.color='black';
visible_err.innerHTML="";
}
}
|
Еще хотелось бы учесть кроссбраузерность. Проверьте плииз коодик, моожет у кого есть готовое решение? или помогите плиииз довести скрипт до умаа, заранее благодарен. | |
|
|
|
|
|
|
|
для: Jura
(29.07.2008 в 18:31)
| | Для тех, кто сталкивался с похожей темой вот решение задачки:
<script type = "text/javascript">
function checktime(hour_input_id, minuts_input_id,span_id) {
var pattern = /^([0-1][0-9]|2[0-3]):[0-5][0-9]$/;
var hid=document.getElementById(hour_input_id);
var hid_value=hid.value;
var mid=document.getElementById(minuts_input_id);
var mid_value=mid.value;
var spd=document.getElementById(span_id);
var spd_value=spd.innerHTML;
var alltime=hid_value +":"+mid_value;
if (!(pattern.test(alltime))) {
hid.style.color='red';
mid.style.color='red';
spd.style.color='red';
spd.innerHTML="Ошибка ввода, ввдите допустимые значения";
return false;
} else {
hid.style.color='#000066';
mid.style.color='#000066';
spd.style.color='black';
spd.innerHTML="Ок";
}
} // конец
</script>
<input name='hour_input_id' id='hour_input_id' size='2' maxlength='2' value='<?php echo date("H"); ?>' class='input' style='width:20px; text-align:center' onChange="checktime('hour_input_id', 'minuts_input_id', 'span_id');" />:<input name='minuts_input_id' id='minuts_input_id' size='2' maxlength='2' value='<?php echo date("i"); ?>' class='input' style='width:20px; text-align:center' onChange="checktime('hour_input_id', 'minuts_input_id', 'span_id');" /><span id='span_id' style='padding-left:5px;'></span>
|
| |
|
|
|
|
|
|
|
для: Jura
(31.07.2008 в 23:19)
| | Абракадабра. Зачем рег. выражения, если часы и минуты в раздельных полях. Да и не понятно - зачем это вообще нужно. | |
|
|
|