这是我的问题 - 当我点击提交按钮时,它应该执行一些代码。 不幸的是,它所做的只是使用提交的 ID 和值在一个奇怪的 url 刷新页面。文件称为Q2C.php。这是代码:
<?php
if(isset($_POST['submit'])) {
$arraylength = count($selectedQuotes);
for($i = 0; $i < $arraylength; $i = $i + 1) {
$supplierQuoteID = $selectedQuotes[$i];
$updateSQL = "UPDATE supplierquotes SET `Selected` = 1 WHERE `SupplierQuoteID` = '$supplierQuoteID'";
$updateQuery = mysql_query($updateSQL);
}
}
?>
<div class="buttons">
<input type="submit" name="submit" id="submit" value="Create Q2C" />
<input type="submit" name="cancel" id="cancel" value="Cancel" />
</div>
它将我重定向到此网址:(路径)/Q2C.php?submit=Create+Q2C
我怎样才能阻止它将我重定向到这里,而只是执行 if isset 语句中的内容?
您需要将按钮放入表单中。
<form method="post">
<input type="submit" name="submit" id="submit" value="Create Q2C" />
<input type="submit" name="cancel" id="cancel" value="Cancel" />
</form>
您应该考虑将第二个提交按钮更改为取消按钮。
我在HTML中没有看到<form>
,但是您需要使用POST
,而不是GET
<form method=post>
您尚未在上面的代码中完全提交表单,但从重定向的 url 中可以清楚地看出,您正在使用 GET 作为表单的 post 方法。在您的 isset 检查中,您使用的是 $_POST。 将表单方法更改为发布,然后它将正常工作。
您需要指定方法。默认情况下,其get
<div class="buttons">
<form action="Q2C.php" method="post">
<input type="submit" name="submit" id="submit" value="Create Q2C" />
<input type="submit" name="cancel" id="cancel" value="Cancel" />
</form>
</div>
如果您不想刷新页面,则可能应该使用 ajax 提交表单。以下是您可以参考的相同代码:
$.ajax({
type: "GET",
url: "abc.php",
data: "name="+form.name.value,
success: function(rs)
{
// do success stuffs here
}
});
您好,不确定我是否纠正了您的问题,例如您想要向 Q2C 提交表单.php而没有一个名为"Method"的表单属性如果您根本不设置该方法,表单将使用 GET 方法作为默认值.....但从您的代码来看,表单似乎正在使用 get 提交到 Q2C.php....你说(isset($_POST['submit']))这是错误的,因为从未设置过提交按钮。您需要做的是将表单的属性方法设置为"post"方法,然后再次尝试运行代码......您的表单应如下所示...
.........