我有以下代码来提交GET值:
<form method="GET">
<input type="hidden" name="price" value="ASC" />
<input type="submit" value="Price Low to High" />
</form>
<form method="GET">
<input type="hidden" name="price" value="DESC" />
<input type="submit" value="Price High to Low" />
</form>
<form method="GET">
<input type="hidden" name="price" value="" />
<input type="submit" value="Default" />
</form>
哪个工作正常。所以我不会用三种形式重复自己,有没有办法让我有一个表格,并定义按钮提交的 GET 值?他们仍然需要为用户提供相同的信息,例如提交DESC
按钮需要显示为Price High to Low
使用以下代码:
<form method="GET">
<input type="submit" name="price" value="ASC">Price Low to High</input>
<input type="submit" name="price" value="DESC" >Price High to Low</input>
<input type="submit" name="price" value="" >Default</input>
</form>
如果设计上有三个按钮不是强制性的,那么我建议,为什么不只使用select
让用户决定他想要什么(因为大多数网站已经这样做了)
<form method="GET">
<select id="price" name="price">
<option value="">Default</option>
<option value="ASC">Price Low to High</option>
<option value="DESC">Price High to Low</option>
</select>
<input type="submit" value="Price Low to High" />
</form>
演示
如果需要三个按钮,则可以执行以下操作之一(但不限于)。
使用纯链接(
<a>
锚标签),是的,您没看错,因为表单只是使用$_GET
方法提交,最终数据将位于 URL 内,那么为什么不首先使用"按钮"的href
属性将其放在那里呢?使用@Aref Anafgeh建议的解决方案,并有三个提交按钮,每个按钮具有不同的值,然后让html处理发送到服务器的值。
使用 JavaScript 并进行 ajax 调用,这几乎允许你处理请求中发送和未发送的内容。
试试这段代码。
<!DOCTYPE html>
<html>
<body>
<?php
if ($_SERVER["REQUEST_METHOD"] == "GET")
{
echo "Form Submited by ".$_GET['submitbutton']." Button";
}
?>
<form method="GET" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="hidden" name="price" value="ASC" />
<input type="submit" value="Price Low to High" name="submitbutton"/>
</form>
<form method="GET" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="hidden" name="price" value="DESC" />
<input type="submit" value="Price High to Low" name="submitbutton"/>
</form>
<form method="GET" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="hidden" name="price" value="" />
<input type="submit" value="Default" name="submitbutton"/>
</form>
<script>
</script>
</body>
</html>
<form method="get">
<select name="sort">
<option value="asc">Ascending</option>
<option value="desc">Descending</option>
<option value="default">Default</option>
</select>
<button name="price">Sort price ascending</button>
</form>
剪 断
<?php if ($_GET['sort'] == "asc") {
// Do something
} elseif ($_GET['sort'] == "desc") {
// Do something else
}
// etc
?>
指向 http://url/?price=XXX 的超链接也可以正常工作,因为您使用的是GET