Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.10.2010, 11:58
Интересующийся
Отправить личное сообщение для gudzik Посмотреть профиль Найти все сообщения от gudzik
 
Регистрация: 25.10.2010
Сообщений: 20

установить значение в input относительно select-та
только подумал о изучении JavaScripts, как уже очень нужно скриптик...

вопрос такой:

есть таблица, в ней название товара насвание поставщика и цена товара.

как сделать так, что бы в форме при выборе в первом "select"-те названия товара и при выборе в другом "select"-те названия фирмы в "input" автоматом проставлялась цена

помогите кто может
Ответить с цитированием
  #2 (permalink)  
Старый 25.10.2010, 16:05
Кандидат Javascript-наук
Отправить личное сообщение для MadGest Посмотреть профиль Найти все сообщения от MadGest
 
Регистрация: 12.07.2010
Сообщений: 123

Предлагаю такие варианты.

1.Отсылаешь форму на сервер тот обрабатывает данные, считает цену и назад возвращает её клиенту а потом уже при помощи JavaScript устанавливаешь её в input.

2.По событию onchange получаешь выбранные значения. Анализируешь их и передаешь дальше в функцию в которой алгоритм высчитывания цены и потом устанавливаешь значение в input.
Ответить с цитированием
  #3 (permalink)  
Старый 25.10.2010, 16:32
Интересующийся
Отправить личное сообщение для gudzik Посмотреть профиль Найти все сообщения от gudzik
 
Регистрация: 25.10.2010
Сообщений: 20

у меня примерно такая формочка, какой вариант мне более подходит?

<form name="form1" method="post" action="warehouse_nakl.php">
  
                <p><label class="cat10">Товар</label> </p>                      
                <select name="tovar_id" class="vvid0">
                <?
                  $result = mysql_query("SELECT id,SUBSTR(NAME,1,20) AS name FROM goods",$db);
                  if (mysql_num_rows($result) > 0)
                     {
	                  $myrow = mysql_fetch_array($result);
                      do
                        {
	                     printf("<option value='%s'>%s</option>",$myrow["id"],$myrow["name"]);
	                    }
                      while ($myrow = mysql_fetch_array($result));
                     }
                ?>
                </select>
				
              <label class="cat10">Поставщик </label>
               <select name="firma" class="vvid01" >
                <?
                $result = mysql_query("SELECT id,SUBSTR(NAME,1,20) AS name FROM firma",$db);
                if (mysql_num_rows($result) > 0)
                   {
                   $myrow = mysql_fetch_array($result);
                   do
                     {
                     printf("<option value='%s'>%s</option>",$myrow["id"],$myrow["name"]);
                     }
                   while ($myrow = mysql_fetch_array($result));
                   }
                ?>
      			</select>				
                <label class="cat21">Цена
                <input type="text" name="price" id="2" maxlength="15" size="15" class="vvid">
                </label>

                <p>
                <label>
                <input type="submit" name="submit" id="submit"  value="Ok" class="forma">
                </label>
                </p>
Ответить с цитированием
  #4 (permalink)  
Старый 25.10.2010, 17:36
Аватар для vladlen
Кандидат Javascript-наук
Отправить личное сообщение для vladlen Посмотреть профиль Найти все сообщения от vladlen
 
Регистрация: 19.10.2010
Сообщений: 143

Да любой! Смотря че нужно.

ОФФТОП:
Только
<?php
$result = mysql_query("SELECT id,SUBSTR(NAME,1,20) AS name FROM goods",$db);
if (mysql_num_rows($result)){
  while ($myrow = mysql_fetch_array($result))
    printf("<option value='%s'>%s</option>",$myrow["id"],$myrow["name"]);
}
?>

Несколько более компактная запись, да и условие я бы тоже похерил, но так надежнее.
Ответить с цитированием
  #5 (permalink)  
Старый 25.10.2010, 18:04
Интересующийся
Отправить личное сообщение для gudzik Посмотреть профиль Найти все сообщения от gudzik
 
Регистрация: 25.10.2010
Сообщений: 20

Любой это тогда когда знаком с JS, а я только сегодня приступаю к знакомству с ним. а скриптец нужен уже на завтра...
Ответить с цитированием
  #6 (permalink)  
Старый 26.10.2010, 02:33
Аватар для vladlen
Кандидат Javascript-наук
Отправить личное сообщение для vladlen Посмотреть профиль Найти все сообщения от vladlen
 
Регистрация: 19.10.2010
Сообщений: 143

Если нужно быстро, то это в раздел работа. И нехер так языки программирования изучать, какими бы они примитивными не были. Заплати денег веб мастеру и он вкрутит тебе "лампочку"
Ответить с цитированием
  #7 (permalink)  
Старый 26.10.2010, 16:10
Интересующийся
Отправить личное сообщение для gudzik Посмотреть профиль Найти все сообщения от gudzik
 
Регистрация: 25.10.2010
Сообщений: 20

посидел, попихтел и вот что сообразил:

<script language="javascript" type="text/javascript">
/*Создаем объект XMLHttpRequest*/
var xmlHttp = new XMLHttpRequest();

function callServer() {
  // Получить tovar_id и firma из web-формы
  var tovar_id = document.getElementByName("tovar_id").value;
  var firma = document.getElementByName("firma").value;
  // Продолжать только если есть значения обоих полей
  if ((tovar_id == null) || (tovar_id == "")) return;
  if ((firma == null) || (firma == "")) return;

  // Создать URL для подключения
  var url = "price.php?tovar_id=" + escape(tovar_id) + "&firma=" + escape(firma);

  // Открыть соединение с сервером
  xmlHttp.open("GET", url, true);

  // Установить функцию для сервера, которая выполнится после его ответа
  xmlHttp.onreadystatechange = updateInput;

  // SПередать запрос
  xmlHttp.send(null);
}

//Обработка ответа от сервера
function updateInput() {
  if (xmlHttp.readyState == 4) {
    var rez = xmlHttp.responseText;
    document.getElementById("2").value = rez;
  }
}
</script>


если че не так то подправте пожалуйста....
Ответить с цитированием
  #8 (permalink)  
Старый 26.10.2010, 16:15
Интересующийся
Отправить личное сообщение для gudzik Посмотреть профиль Найти все сообщения от gudzik
 
Регистрация: 25.10.2010
Сообщений: 20

только вот не знаю правильно ли я делаю файл "price.php" и по какому принцыпу он возвращает результат, а сделал так:

<?
include("blocks/db.php");
if (isset($_GET['tovar_id'])) {$tovar_id = $_GET['tovar_id']; if ($tovar_id == '') {unset($tovar_id);} }
if (isset($_GET['firma'])) {$firma = $_GET['firma']; if ($firma == '') {unset($firma);} }
$result = mysql_query("SELECT price FROM warehouse WHERE goods_id='$tovar_id' AND firma='$firma'",$db);
$myrow = mysql_fetch_array($rezult);
$price=$myrow['price'];
?>


так в input-e мне видает ошыбку "<font color=ff0000><br /> <b>Notice</b>: Undefined variable: rezult in <b>C:\webserver\www\boohgalter\warehouse\price.php </b> on line <b>6</b><br /> </font><font color=ff0000><br /> <b>Warning</b>: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in <b>C:\webserver\www\boohgalter\warehouse\price.php </b> on line <b>6</b><br /> </font>"

подскажите че не так
Ответить с цитированием
  #9 (permalink)  
Старый 26.10.2010, 16:23
Интересующийся
Отправить личное сообщение для gudzik Посмотреть профиль Найти все сообщения от gudzik
 
Регистрация: 25.10.2010
Сообщений: 20

ошыбку нашел и исправил... но теперь в input-е ничево не происходит
Ответить с цитированием
  #10 (permalink)  
Старый 26.10.2010, 17:02
Интересующийся
Отправить личное сообщение для gudzik Посмотреть профиль Найти все сообщения от gudzik
 
Регистрация: 25.10.2010
Сообщений: 20

ура! заработало! добавил в файл

echo $price;


и заработало!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в IE динамически установить значение события onClick? Гость Элементы интерфейса 6 16.01.2011 23:46
Изменить значение переменной функции через select Fenec Элементы интерфейса 5 13.08.2010 15:32
Значение тэга select blasted Элементы интерфейса 4 07.07.2010 14:45
Как добавить значение в input type="file"? PAMAC Общие вопросы Javascript 2 01.04.2010 19:59
Как вывести на экран значение функции SELECT MAX(id) Владдд Серверные языки и технологии 3 25.01.2009 16:07