У меня есть таблица, которая дает мне 3 столбца, код продукта, название продукта и флажок.Публикация данных, когда ввод текста не пуст PHP
В настоящее время он работает там, где он будет публиковать любые проверенные продукты, но я хочу изменить функциональность на текстовое поле, а не на флажок, и только отправлять данные, имеющие что-то в текстовом поле, я был потрудившись с этим безрезультатно.
Это мой стол:
<form id="frm-example" action="price-quote.php" method="POST">
<table id="datatable-price" class="table table-striped table-bordered">
<thead>
<tr>
<th>Product Code</th>
<th>Product Name</th>
<th>Add to quote</th>
</tr>
</thead>
<tbody>
<?php while($res = sqlsrv_fetch_array($def, SQLSRV_FETCH_ASSOC)) : ?>
<tr>
<td><?php echo $res['ItemCode']; ?></td>
<td><?php echo $res['ItemName']; ?></td>
<td>
<input type="checkbox" name="checkbox[]" value="<?php echo $res['ItemCode'];?>"></input>
</td>
</tr>
<?php endwhile; ?>
</tbody>
</table>
<input type="submit" id="submit" name="submit" class="btn btn-success pull-right" value="Quote"></input>
</form>
Это Javascript, чтобы пойти с ним:
<script>
$(document).ready(function(){
var table = $('#datatable-price').DataTable({
});
// Handle click on "Select all" control
$('#datatable-price-select-all').on('click', function(){
// Get all rows with search applied
var rows = table.rows({ 'search': 'applied' }).nodes();
// Check/uncheck checkboxes for all rows in the table
$('input[type="checkbox"]', rows).prop('checked', this.checked);
});
// Handle click on checkbox to set state of "Select all" control
$('#datatable-price tbody').on('change', 'input[type="checkbox"]', function(){
// If checkbox is not checked
if(!this.checked){
var el = $('#datatable-price-select-all').get(0);
// If "Select all" control is checked and has 'indeterminate' property
if(el && el.checked && ('indeterminate' in el)){
// Set visual state of "Select all" control
// as 'indeterminate'
el.indeterminate = true;
}
}
});
// Handle form submission event
$('#frm-example').on('submit', function(e){
var form = this;
// Iterate over all checkboxes in the table
table.$('input[type="checkbox"]').each(function(){
// If checkbox doesn't exist in DOM
if(!$.contains(document, this)){
// If checkbox is checked
if(this.checked){
// Create a hidden element
$(form).append(
$('<input>')
.attr('type', 'hidden')
.attr('name', this.name)
.val(this.value)
);
}
}
});
});
});
</script>
И это моя страница, на которой он выполняет также:
<?php
if(!empty($_POST['checkbox'])) {
foreach($_POST['checkbox'] as $check){
$abc = "SELECT ItemCode, ItemName
FROM OITM
WHERE ItemCode = '$check'
ORDER BY ItemName";
$def = sqlsrv_query($sapconn, $abc);
$res = sqlsrv_fetch_array($def, SQLSRV_FETCH_ASSOC);
$prodCode = $res['ItemCode'];
$prodName = $res['ItemName'];
echo "
<tr>
<td>$prodCode</td>
<td>$prodName</td>
</tr>
";
}
}
?>
Может кто-либо приспосабливает это, чтобы отправить текст в текстовое поле, а не флажок. Было бы здорово, очень признателен!
Заранее спасибо
У меня не возник вопрос. вы измените флажки в текстовые поля, и если они будут заполнены, вы отправите их. я прав ? –
Это необходимая функциональность да. – PHPNewbie