За последние 24 часа нас посетили 55495 программистов и 1710 роботов. Сейчас ищут 953 программиста ...

Поисковое поля input

Тема в разделе "PHP для новичков", создана пользователем prokuror_89, 29 апр 2011.

  1. prokuror_89

    prokuror_89 Активный пользователь

    С нами с:
    13 янв 2011
    Сообщения:
    26
    Симпатии:
    0
    Здравствуйте люди! У меня проблема. Есть поле в поисковике:

    HTML:
    1.  
    2.      <input  name="price_1" type="text" size="8"  maxlength="10">
    3.  
    4.  
    В это поле вводится цена цифрами. как сделать что бы в это поле можно было ввести только цифры и нельзя было поставить пробел. И можно ли такое вообще сделать.Заранее спасибо.
     
  2. brainiac

    brainiac Активный пользователь

    С нами с:
    5 янв 2011
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Новосибирск
    Можно проверять содержимое на клиенте c javascript'ом, а на форму поиска делать так: <form ... OnSubmit="return function()"> , т.е. при отправке формы запускается функция function() которая проверяет содержание полей (поля с ценой) если гдето неправильно - возвращает false и форма не отправляется, если все верно то возвращает true и форма уже направляется в php скрипт.

    Сами проверки правильности на клиенте уже не по разделу php =) нужен в основном метод replace и exec...
     
  3. Alex_pac

    Alex_pac Активный пользователь

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
    HTML:
    1.  
    2. жесткая проверка вводимого значения , введите не более 8 цифр<br>
    3. <input name="price_1" type="text" size="8" id="c_num">
    4. var obj = document.getElementById("c_num");
    5. obj.validval = function () {
    6.     var mask = /^[0-9]{1,8}$/;
    7.     if ((!mask.test(obj.value))&&(obj.value.length>0)) {
    8.         obj.value = obj.alterval;
    9.     } else {
    10.         obj.alterval = obj.value;
    11.     }
    12.     setTimeout(function() { if (obj.onfocused) { obj.validval(); }}, 150);
    13. }
    14. obj.onfocus = function() {
    15.     obj.onfocused = true;
    16.     obj.alterval = obj.value;
    17.     obj.validval();
    18. }
    19. obj.onblur = function() { obj.onfocused = false; obj.validval(); }
    HTML:
    1. мягкая проверка вводимого значения , введите не более 8 цифр<br>
    2. <input name="price_1" type="text" size="8" id="c_num">
    3. var obj = document.getElementById("c_num");
    4. obj.style.backgroundColor = "white";
    5. obj.validval = function () {
    6.     var mask = /^[0-9]{1,8}$/;
    7.     if ((!mask.test(obj.value))&&(obj.value.length>0)) {
    8.         obj.style.backgroundColor = "red";
    9.     } else {
    10.         obj.style.backgroundColor = "white";
    11.     }
    12.     setTimeout(function() { if (obj.onfocused) { obj.validval(); }}, 150);
    13. }
    14. obj.onfocus = function() {
    15.     obj.onfocused = true;
    16.     obj.validval();
    17. }
    18. obj.onblur = function() { obj.onfocused = false; obj.validval(); }
     
  4. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    Alex_pac, а что если у меня js выключен?


    Юзай trim и is_int )
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Invision
    а что если у меня jsвыключен?
    тогда ты жестоко обломаешься и купишь себе уже наконец нормальный телефон.
     
  6. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    Точно подметил кэп :D Раздел ведь php значит не только явой нужно обойтись :)