Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何用一个按钮发送两个值?_Php_Forms_Get_Submit Button - Fatal编程技术网

Php 如何用一个按钮发送两个值?

Php 如何用一个按钮发送两个值?,php,forms,get,submit-button,Php,Forms,Get,Submit Button,是否可以从一个按钮提交两个值 $orderby = $_GET['orderby']; <form action="mypage.php" method="get"> <a><button name ="orderby" value="name" type="submit">&#9660;</button></a> <a><button name ="orderby" value="age" type="su

是否可以从一个按钮提交两个值

$orderby = $_GET['orderby'];

<form action="mypage.php" method="get">
<a><button name ="orderby" value="name" type="submit">&#9660;</button></a>
<a><button name ="orderby" value="age" type="submit">&#9660;</button></a>
</form>
$orderby=$\u GET['orderby'];
▼
▼
我想象这样的情况:

<a><button name ="orderby" value1="name" value2="ASC" type="submit">&#9660;</button></a>
<a><button name ="orderby" value1="name" value2="DESC" type="submit">&#9660;</button></a>
<a><button name ="orderby" value1="age" value2="ASC" type="submit">&#9660;</button></a>
<a><button name ="orderby" value1="age" value2="DESC" type="submit">&#9660;</button></a>
▼;
▼
▼
▼

您可以将隐藏字段与
一起使用:



通过URL发送

<form action="mypage.php?orderby=name&order=ASC" method="get">
<a><button name ="orderby" value="name" type="submit">&#9660;</button></a>
</form>

您必须在表单内部使用

<form>
<input type=hidden name=var1 value="value1">
<input type=hidden name=var2 value="value2">
<input type=hidden name=var3 value="value3">

如果要使用按钮获取值,可以使用jquery和ajax。下面给出了一个示例代码

$(form).on('submit', function(e){
    e.preventDefault();
    var value1 = $('button[name=orderby]').attr('value1');
    var value2 = $('button[name=orderby]').attr('value2');
    $.ajax({
        url: 'your/url',
        type: 'POST',
        data: {
            value1: value1,
            value2: value2
        },
        success: function(data){
            //success action
        },
        error: function(){
            //error action
        }
    });
});
使用类似“
name ASC
”或“
name{splitter}ASC
”并将其分解以在代码中使用

<a><button name ="orderby" value="name ASC" type="submit">&#9660;</button></a>
<a><button name ="orderby" value="name DESC" type="submit">&#9660;</button></a>
<a><button name ="orderby" value="age ASC" type="submit">&#9660;</button></a>
<a><button name ="orderby" value="age DESC" type="submit">&#9660;</button></a>
▼;
▼
▼
▼

我认为这是解决您问题的最佳方法。对于程序员来说,这就是所谓的智能化和动态化

您可以这样做:

<a><button name ="orderby" value1="name" value2="ASC" type="submit">&#9660;</button></a>
<a><button name ="orderby" value1="name" value2="DESC" type="submit">&#9660;</button></a>
<a><button name ="orderby" value1="age" value2="ASC" type="submit">&#9660;</button></a>
<a><button name ="orderby" value1="age" value2="DESC" type="submit">&#9660;</button></a>
HTML表单

<form action="mypage.php" method="get">
    <input type="radio" name="field" checked value="name"> Name
    <input type="radio" name="field" value="age"> Age<br/><br/>

    <input type="radio" name="order" checked value="desc"> DESC
    <input type="radio" name="order" value="asc"> ASC<br/><br/>

    <a><button name="orderby" value="orderby" type="submit">&#9660;</button></a>
</form>

现在,一切都准备好了,你想用它们做什么就做什么。

这样做有什么好处?按钮只有一个值,以便您可以区分不同的按钮。如果您需要在客户端临时存储一个值,请考虑在您的窗体中使用隐藏字段。不,现在可以将值“值”=“NAME1,NAME2”和“值”与“爆炸”值一起使用,您可以使用value =“名称ASC”,它将很容易地解决这个问题。更复杂的案件可以按照上文@BrijalSavaliya的建议解决。或者以本机方式使用隐藏元素。@Jarla,您可以使用
$orderby
本身作为值。和order by包含
name\u asc
@Jarla为什么要这样做,请将其保留为“smozgur”建议值=“name asc”,值=“name DESC”。。以此类推,我在一个表单中有多个提交按钮
$field = $_GET['field'];
$order = $_GET['order'];