我不确定标题的措辞如何。如果有人有改进建议,请告诉我。
通常,当您创建HTML,CSS和PHP表单时..有一个指定的“提交”按钮(或者甚至是2个)....
我在这里构建的更多是一个“菜单”前端。所有显示的选项都有其自己的“顺序”按钮。
一旦单击“订单”按钮...表单应提交给自己..并且PHP解析会执行“事情” ...
我不清楚执行此操作的正确方法吗?
我是否仅使用一些jQuery向每个“订单”按钮添加一些代码以提交页面?
菜单中的每个“项目”都应具有与之关联的唯一值。 但是由于它不是带有输入字段或复选框/单选按钮的真实表单,所以我也不清楚如何最好地“捕获”此数据?
总结:
1。)当没有“单/指定”提交按钮时,如何最好地向自己提交表单/页面,并且显示的每个项目都可以自己“提交”? (要在每个“订单”按钮中添加事件的jQuery吗?)
2。)由于从技术上讲,我目前不发布任何数据(如何),如何最好地在提交页面/表单时添加和保留此唯一数据(即:$ _POST []吗?) (将此唯一数据添加到将用于提交的“订单”按钮中吗?
更新: 我猜想是因为请求了“代码” ..(而且我知道问题应该是这种方式或那种方式的答案)..但是它是“有效的”(但这不是问题所在。最佳做法)。
这是我要输出查询返回的所有可用饮料的方法:(基本上每个按钮ID是在提交表单之前设置为隐藏字段的唯一饮料“配方”)
<form id="drinkForm" name="drinkForm" method="post" action="<?=$redirectUrl?>?mode=submit">
<!-- hidden field to hold recipe chosen -->
<input type="hidden" name="selectedDrink" id="selectedDrink" value="" />
<?
for($i=0; $i<count($drinkList); $i++){
//drink image
$ingredientList = '';
$drinkImage = 'images' . $drinkList[$i]['drink_image'];
if(!file_exists($drinkImage)){
$drinkImage = 'images/no_image.jpg';
}
?>
<div class="drinkListing">
<div class="imageContainer"><img src="<?=$drinkImage?>"></div>
<div class="drinkDetails">
<!-- drink title -->
<div class="drinkTitle"><?=$drinkList[$i]['drink_name'] . '('. $drinkList[$i]['drink_id'] .')'?></div>
<!-- generate drink recipe to be sent on $_POST[''] -->
<?
for($x=1; $x<=15; $x++){
//check for empty ingredient (end of recipe)
if($drinkList[$i]['ingredient_'.$x.'_dispenser'] != ''){
//dispenser type
if($drinkList[$i]['ingredient_'.$x.'_dispenser'] == 'bottle'){
$ingredientList .= 'b=';
}else{
$ingredientList .= 'v=';
}
//dispenser
$ingredientList .= $drinkList[$i]['ingredient_'.$x.'_dispenser_order'] . ':';
//dosage
$ingredientList .= $drinkList[$i]['ingredient_'.$x.'_dosage'] . ',';
}else{
//remove trailing comma in ingredient list
//$ingredientList = rtrim($ingredientList, ','); //removes all commas
$ingredientList = trim($ingredientList,",");
break;
}
}
?>
<!-- submit buttons -->
<div class="buttonContainer">
<button class="orderButton" id="<?=$ingredientList?>" type="button">Order</button>
</div>
<!-- drink description -->
<div class="drinkDesc"><?=$drinkList[$i]['drink_desc']?></div>
<p><?=$ingredientList?></p>
</div>
</div>
<?
}
?>
</form>
和jQuery
$('.orderButton').click(function() {
console.log("button clicked");
var targetRecipe = $(this).attr('id'); //(this.id) or alert($(this).attr('id'));
$('#selectedDrink').val(targetRecipe);
$('#drinkForm').submit();
});
我的问题是..这是最佳做法吗?还是我想更多呢..这是一种“不好的”(未批准)方法吗?