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

HTML+CSS+JavaScript

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

 

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

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

тема: Проверка введенных даты и времени
 
 автор: Jura   (29.07.2008 в 18:31)   письмо автору
 
 

Здравствуйте коллеги, помогите пожалуйста, в 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   (31.07.2008 в 23:19)   письмо автору
 
   для: 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>

  Ответить  
 
 автор: sim5   (01.08.2008 в 07:17)   письмо автору
 
   для: Jura   (31.07.2008 в 23:19)
 

Абракадабра. Зачем рег. выражения, если часы и минуты в раздельных полях. Да и не понятно - зачем это вообще нужно.

  Ответить  
Rambler's Top100
вверх

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