Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Как получить данные из поля?

00 голосов
8
Надо сделать что бы в таблице с элементами, справа было поле ввода количества и кнопка добавить товар в корзину.

В цикле у меня создаются элементы, поля ввода и кнопка добавить.

Код
<form name="myForm">
<input type="text" size = "1" name="input<?$Element[ID]?>"             
 value="1"><input name="add" type="button" value="добавить" name="add"  onclick="addbasket('<?echo $Element[ID]?>')">
</form>


А вот дальше, я не могу получить значение из поля (Полей много!!)

Код
<script language="JavaScript">
<!-- hide
function addbasket(paramID)
{

paramID = "input" + paramID;
alert(paramID);  //ТУТ ОТОБРАЖАЕТСЯ input14623

value = document.forms[0].elements[paramID].value;
alert(value); //А ТУТ НЕ РАБОТЕТ!!!

}
// -->
</script>


Еще вопрос, смогу ли я в функции добавить код, который добавить товар в карзину? Всмысле, будет ли работать между тегами <script>?
спросил 07 Июнь, 13 от asagava (680 баллов)

8 Ответы

00 голосов
Хорошо, облегчим задачу... Как мне узнать что введено в поле input?

<form name="myForm">
<input type="text" size = "1" name="input" value="1">
echo myForm.input.value; //Тут не чего не показыает...
</form>
ответил 07 Июнь, 13 от asagava (680 баллов)
00 голосов
echo $_REQUEST["input"]
ответил 16 Июнь, 13 от FireLuna (580 баллов)
00 голосов
Павел, видимо нужно получить данные до отправки формы, Вы же предлагаете после, хотя может я ошибаюсь.

Код
value = document.forms[0].elements[paramID].value; 


меняем на
Код
value = document.forms[0].elements["paramID"].value;


Иначе elements[paramID] - null

Константин - советую firebug, в нем есть отладка джаваскрипта - я ведь тоже сначала не заметил ошибочку синтаксическую - а там быстренько видим что не так.

Удачи.
ответил 19 Сен, 13 от Tetis (500 баллов)
00 голосов
Плохо когда знаешь только C++/Pascal/1C - а PHP нет!!

Помогите разобраться! В идеале мне нужно передать функции значение которое введено в поле 'my'.

Для начала нужно разобраться, как узнать значение, которое указал пользователь.

Вот полный код:


Код
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

function addbasket()  
{
 

}  


?>
<form name="myForm">
<input type="text" size = "1" name="my" value="1"><input name="add" type="button" value="добавить" name="add"  onclick="addbasket()">

</form>


<? 
echo 'ТЕКСТ:'.$_REQUEST["my"]                  // Отображается ТЕКCТ:         - но значение нет!
?>



<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>


Помогите! Как узнать значение... А лучше передать это значение функции...
ответил 17 Дек, 13 от asagava (680 баллов)
00 голосов
Попробуйте вместо:
Код
<input name="add" type="button" value="добавить" name="add"  onclick="addbasket()"> 

Написать:
Код
<input type="submit" value="добавить" /> 

Иначе Вы элементарно не отправлете данные с формы

А в начале добавить условие с проверкой переменной "my" для начала:
Код
if (isset($_REQUEST["my"])) addbasket();

Тогда если установлена переменная "my" у вас выполниться функция addbasket();

Итоговый скрипт:
Код
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

function addbasket()  
{
echo 'Функция addbasket() - работает';

}  


if (isset($_REQUEST["my"])) addbasket();
?>
<form name="myForm">
<input type="text" size = "1" name="my" value="1">
<input type="submit" value="добавить" />

</form>


<?
echo 'ТЕКСТ:'.$_REQUEST["my"]                  // Отображается ТЕКCТ:         - но значение нет!
?>



<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?> 
ответил 01 Апр, 14 от FireLuna (580 баллов)
00 голосов
Имеейте ввиду также что элементарная проверка переменной, переданной с формы ТОЛЬКО на существование очень НЕБЕЗОПАСНА
ответил 25 Июль, 14 от FireLuna (580 баллов)
00 голосов
Огромное спасибо!!!! Все работает.
ответил 27 Ноя, 14 от asagava (680 баллов)
00 голосов
Нахожусь на странице
http://localhost:6448/Magazin/index.php?SECTION_ID=1184

Нажимаю на кнопку, перехожу на страницу:
http://localhost:6448/Magazin/index.php?my=1
- почему переходит?
Мне надо, всего передать функции значение... и при этом остаться на этой же странице.

Код:
Код

function addbasket()   
{ 


echo 'Функция addbasket() - '.$_REQUEST["my"];  //тут отображается значение...

}   


if (isset($_REQUEST["my"])) addbasket(); 
?> 
<form name="myForm"> 
<input type="text" size = "1" name="my" value="1"> 
<input type="submit" value="добавить" /> 
</form>
<? 

ответил 22 Март, 15 от asagava (680 баллов)

Похожие вопросы

0 голосов
3 ответов
0 голосов
1 ответ
0 голосов
0 ответов
спросил 20 Дек, 13 от Arted (120 баллов)
0 голосов
2 ответов