我有一个表单字段,其中有一个提交按钮。当我点击提交按钮时没有任何反应。这是我的代码:
这是combinations
:
$combinations = [
40 - black,
40 - blue,
41 - black,
41 - blue,
42 - black,
42 - blue
];
<div class="col-md-12 alert-success">
<form id="configurable_product_form" class="configurable_form" action="" method="post">
<?php
$combinations = getConigurationsByCuts($pageid);
$check_index = 0;
foreach ($combinations as $combination) {
if (isset($existing_configurations[$check_index])) {
}
?>
<labe><?php echo $combination; ?></labe>
<input class="configurable_input" type="number" name="sku_<?php echo $check_index ?>" placeholder = 'sku'/>
<input class="configurable_input" type="number" name="price_<?php echo $check_index ?>" placeholder = 'price'/>
<br/>
<?php $check_index++; } ?>
<input type="submit" value="save"/>
</form>
</div>
编辑:
我有这个代码应该在提交表单后运行:
if (isset($_POST["sku_0"])) {
for ($i = 0; $i < count($combinations); $i++){
if (isset($_POST["sku_".$i]) && $_POST["sku_".$i]){
$sku_to_write = $_POST["sku_".$i];
$query = "UPDATE products_configurations SET sku = \"$sku_to_write\" WHERE product_id = \"$productid\" AND cuts = \"$combinations[$i]\";";
$value = mysql_query($query);
}
}
}
if (isset($_POST["price_0"])) {
for ($i = 0; $i < count($combinations); $i++){
if (isset($_POST["price_".$i]) && $_POST["price_".$i]){
$price_to_write = $_POST["price_".$i];
$query = "SELECT price FROM products WHERE id = \"$productid\";";
$value = mysql_query($query);
$result = mysql_fetch_array($value);
foreach ($result as $r) {
$product_price = $r;
}
if ($price_to_write == $product_price){
} else {
$query = "UPDATE products_configurations SET price = \"$price_to_write\" WHERE product_id = \"$productid\" AND cuts = \"$combinations[$i]\";";
$value = mysql_query($query);
}
}
}
}
if (isset($_POST["enabled_0"])) {
for ($i = 0; $i < count($combinations); $i++) {
if (isset($_POST["enabled_".$i]) && $_POST["enabled_".$i]) {
$is_checked = $_POST["enabled_".$i];
$query = "UPDATE products_configurations SET enabled = \"$is_checked\" WHERE product_id = \"$productid\" AND cuts = \"$combinations[$i]\";";
$value = mysql_query($query);
}
}
}
问题是,点击提交按钮后页面甚至没有重新加载
编辑2:
发现问题,显然我将form
放在另一个由AJAX控制的表单中。我把它带出那里,它的作品很迷人!
感谢所有帮助!
答案 0 :(得分:0)
没有定义明确的action
没有问题,因为它只会提交到同一页面(尽管 - 正如@phonicx所提到的 - 它不是根据规格,它仍然在所有浏览器中都是这样的)
我认为您的问题是您不以任何方式处理表单(至少查看您的代码),所以每次您提交&#34;它只是刷新页面的形式,所以看起来没有任何反应。
我希望在您的代码中看到一些$var = $_POST['field_name']
,以便使用通过表单发布的数据
答案 1 :(得分:0)
您定义的html代码没有问题。 我已经尝试过删除php的代码,所以这段代码中的php一定有问题。
让我知道你想用这段代码做什么:
$combinations = [
40 - black,
40 - blue,
41 - black,
41 - blue,
42 - black,
42 - blue
];
你在创建一个数组吗?如果是,那就不是这样了。
答案 2 :(得分:-1)
您的表单未定义任何操作。
您需要创建服务器端路由以接受表单提交时发送的POST请求。
请参阅:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form
动作
处理表单信息的程序的URI。这个值 可以被一个或一个的形式属性覆盖 元件。