Показать сообщение отдельно
  #1 (permalink)  
Старый 17.03.2015, 22:03
Аспирант
Отправить личное сообщение для Daniel93 Посмотреть профиль Найти все сообщения от Daniel93
 
Регистрация: 21.02.2015
Сообщений: 37

Обработка неизвестного количества input
Доброго времени суток! Есть форма, которая создается с помощью php.
<?php
$smet = mysql_query("SELECT id_pc_price, name_pc_price, min_pc_price, max_pc_price
FROM pc_price") or die(mysql_error());
echo  '<table class="table">';
echo "
<thead>
<tr>
    <th>Наименование</th>
    <th>Рекомендуемая цена</th>
    <th>Фактическая цена цена</th>
</tr>
</thead>";
 
while ($smeta = mysql_fetch_assoc($smet)) {
        $id_s = $smeta["id_pc_price"];
        $name_s = $smeta["name_pc_price"];
        $min_price = $smeta["min_pc_price"];
        $max_price = $smeta["max_pc_price"];
        
echo "
<tr>
    <td>$name_s</td>
    <td>$min_price-$max_price</td>
    <td>
        <form name='price' action='price.php' method='POST' id='price'>
            <input type='text' size='8' name='id_price[]' class='id_s' id='id_price'>
        
    </td>
</tr>
";
 
     }
echo "
<input type='submit' name='in_price' value='Расчитать'>
</form>";   
 ?>


Мне нужно посчитать сумму, которую введет пользователь в поле "Фактическая цена". Кол-во полей заранее неизвестно.

<script>
$(function(){
$('#price').submit(function(){
	//var field = $('#id_price').val();
	//alert(field);
	//return false;
	var inputs = $('#id_price');
	var iii = inputs.length;
	alert(iii);
	for (var i = 0; i < iii; i++) {
		alert(inputs[i]);
		return false;
	}
}); // Конец submit
}); // Конец function
</script>


//var field = $('#id_price').val();
	//alert(field);
	//return false;

Этот код работает, но обрабатывает только одно поле.

var inputs = $('#id_price');
	var iii = inputs.length;
	alert(iii);
	for (var i = 0; i < iii; i++) {
		alert(inputs[i]);
		return false;
	}

Этот код работает, но когда вводишь число, то в переменную inputs[i] помещается object HtmlInputElement, а в переменную iii помещается число 1, хотя на странице 3 поля.

Извините, если коряво описал проблему.
Ответить с цитированием