У меня есть форма, которая имеет некоторые текстовые поля. Текстовые поля могут увеличиваться или уменьшаться в соответствии с таблицей базы данных. Если в базе данных имеется 3 склада, в качестве места размещения будет показано 3 текстовых поля с доступным количеством. Теперь пользователю нужно вводить количество, не большее, чем указано в заполнителе в каждой коробке. Как я могу выполнить проверку, если пользователь вводит значение больше, чем доступно (которое будет отображаться как владелец места)? Проблема заключается в том, что проверка должна выполняться в соответствии с циклом foreach. Мой код ниже,
<?php if (!empty($ware_details)) { foreach ($ware_details as $data) { ?> <div class="form-group"> <label for="exampleInputEmail1"><?php echo $data->warehouse_name; ?></label> <input type="number" id="return_pro" class="form-control" base_url="<?php echo site_url(); ?>" name="<?php echo $data->wh_warehouse_id;?>" placeholder="<?php echo $data->wh_product_qty; ?> Available"> <div class="dataDrop"></div> <input type="hidden" id="quantity" value="<?php echo $data->wh_product_qty; ?>"/> </div> <?php } }?>
Здесь, когда вы видите число текстовых полей, зависит от цикла foreach. Итак, как я могу проверить? Javascript или Ajax в порядке. Я попробовал что-то вроде этого,
<?php foreach ($ware_details as $data) {?> <script> function check() { var stock = document.getElementById('quantity').value; var return_stock = document.getElementById('return_pro').value; if (parseFloat(stock) < parseFloat(return_stock)) { alert("Return product can't be more than total stock"); document.getElementById('return_pro').focus(); return false; } //alert(return_stock); return false; }
Но я знаю, что это совершенно неправильно. Есть идеи?