[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопрос по текстовым полям(input type=text name=ff)
Эдик
Здравсивуйте.Полскажите пожалуйста, как установить так, чтобы в текстовое поле можно было вводить только целые положительные числа, а другие знаки он бы просто игнорировал или выдавал какое-нить собщение??



Спустя 12 минут, 24 секунды (28.12.2009 - 16:34) sergeiss написал(а):
После получения данных сравни intval( $val ) и $val, и знак полученного числа. В первом случае получим явное преобразование, во втором - неявное. Если они совпали - то всё введено правильно. Иначе - неправильно.

Можно еще использовать регулярные выражения... Но в данном случае, мне кажется, это непоправдано.

Спустя 2 минуты, 12 секунд (28.12.2009 - 16:36) vagrand написал(а):
Валидируй при помощи JS

Спустя 4 минуты, 38 секунд (28.12.2009 - 16:41) Эдик написал(а):
А если кто решит прикальнуться, и введет текст.Это тоже нежелательно?Как тут тогда быть?
А JS я пока вообще не знаю, может, если не сложно, приведите код.....

Спустя 3 минуты (28.12.2009 - 16:44) sergeiss написал(а):
Цитата (Эдик @ 28.12.2009 - 17:41)
А если кто решит прикальнуться, и введет текст.

Тогда intval($val) вернет ноль smile.gif

Ты разместил вопрос в разделе ПХП, поэтому я и даю тебе ответ про ПХП, а не про JS.

Спустя 2 минуты, 42 секунды (28.12.2009 - 16:47) vagrand написал(а):

Спустя 54 минуты, 13 секунд (28.12.2009 - 17:41) Эдик написал(а):
Вот такая ерунда-если ввожу в поле число-все норм, дальше товар отображается нормально, если ввожу буквы-то товар вообще не показывается(как и надо), но если потом опять в форму нормально начать вводить цифры, товар отображается непонятными значками.И так все время,пока не переоткрыть страницу со скриптом.Что это?

Спустя 12 минут, 57 секунд (28.12.2009 - 17:54) vagrand написал(а):
Щас включу свой ментоскоп и просканирую твой код.
JS код в студию

Спустя 13 минут (28.12.2009 - 18:07) Эдик написал(а):
Тока не JS
<html>
<
body>
<?

if (isset($_POST['item'])) {echo "<table>";
foreach($_POST['item'] as $key => $val) {if(($val!=NULL) && ($val>0) && (intval($val)==$val)){$el=explode(";",$key);echo "<tr>";
for($e=0;$e<count($el);$e++){echo "<td>$el[$e]</td>";} echo "<td>$val</td>";}
}

echo "</table>";}
else{
$z=0;
$x=0;
$c=0;
$csv="test.csv";
$open=fopen($csv,"r");
$file=file($csv);
echo "<table border=1><form method=post action=index.php>";

foreach($file as $string)
{

echo "<tr>";
$elements=explode(";",$string);
for($p=0;$p<count($elements);$p++)
{
echo "<td bgcolor=lightblue>$elements[$p]</td>";
}
if($x>=1)
{ $z++;echo "<td bgcolor=lightblue><input type=text size=3 name='item[$string]'></td>";$c++;}
echo "</tr>";
$x++;
}
echo "</table>";
fclose($open);
echo "<input type=submit value='Сформировать заказ'></form>";}

?>
</body>
</
html>

Спустя 31 минута, 37 секунд (28.12.2009 - 18:38) vagrand написал(а):
Эдик

Скажи а зачем мне твой php код если ты сам написал:

Цитата
И так все время,пока не переоткрыть страницу со скриптом.


Спустя 3 часа, 43 минуты, 31 секунда (28.12.2009 - 22:22) Эдик написал(а):
Ну у меня есть прайс, гдее напротив каждого товара свое текстовое поле для ввода количества.Кода я туда ввожу цифры и нажимаю "чормировать заказ" то попадаю на страницу, где выведены товары, кол-во которых я вводил.И вот, если я ввожу цифры, то товар отображается русскими буквами.Как только я ввожу в поле буквы(чтобы проверить, что скрипт проигнорирует буквы)-все норм,игнорирует, но после этого когда я ввожу цифры(кол-во товара), то выбранные товары отображаются некорректно(непонятные значки).Если обновляю страницу-ничего.Только когда ввожу заново адрес страницы-тогда все норм до следующих букв в форме.Почему так происходит и как с этим бороться??

Спустя 9 минут, 36 секунд (28.12.2009 - 22:31) vagrand написал(а):
Ниче не понял. Где ты шо вводишь? На первой или на второй странице?

Дай линк на скрипт или хоть принскринов понаделай

Спустя 18 минут, 40 секунд (28.12.2009 - 22:50) Эдик написал(а):
<html>
<
body>
<?

if (isset($_POST['item'])) {echo "<table>";
foreach($_POST['item'] as $key => $val) {if(($val!=NULL) && ($val>0) && (intval($val)==$val)){$el=explode(";",$key);echo "<tr>";
for($e=0;$e<count($el);$e++){echo "<td>$el[$e]</td>";} echo "<td>$val</td>";}
}

echo "</table>";}
else{
$z=0;
$x=0;
$c=0;
$csv="test.csv";
$open=fopen($csv,"r");
$file=file($csv);
echo "<table border=1><form method=post action=index.php>";

foreach($file as $string)
{

echo "<tr>";
$elements=explode(";",$string);
for($p=0;$p<count($elements);$p++)
{
echo "<td bgcolor=lightblue>$elements[$p]</td>";
}
if($x>=1)
{ $z++;echo "<td bgcolor=lightblue><input type=text size=3 name='item[$string]'></td>";$c++;}
echo "</tr>";
$x++;
}
echo "</table>";
fclose($open);
echo "<input type=submit value='Сформировать заказ'></form>";}

?>
</body>
</
html>

Короче,есть прайс,где напротив каждого товара есть свое тестовое поле для ввода кол-ва заказываемого товара.Чтобы было хорошо, я установил условие-ни выводить товар, если в поле введен текст.Когда польщователь вводит кол-во товара в соответствующей форме, то он жмет "сформ. заказ" и перед ним возникает список товаров, кол-во которого он указал.Я проверяю скрипт:ввожу в поле текст и жму кнопку-мне товар вообще не отображатся(как и надо).Но потом я опять перехожу к товару и ввожу уже в поля цифры, жму кнопку и мне отображается товар, но уже в непонятных значках вместо русского.Почему так происходит?Страница одна и та ж, тока стоит условие:если данных из форм нет, то отображается прайс, еслиесть, то отображается выбранный товар.Вроде все

Спустя 3 минуты, 47 секунд (28.12.2009 - 22:54) Эдик написал(а):
Пардон, скриппт ваще одурел.Прописываю в браузере путь к нему, ввожу в фому цифры-первый раз отображает товар норм, потом обновляю страницу с прайсом, опять ввожу-отображает непонятные символы

Спустя 12 часов, 29 минут, 19 секунд (29.12.2009 - 11:23) Эдик написал(а):
Все,разобрался
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.