<form method="get" action=..... >
Food <input name="food" type="text" size="1" />
Pizza <input name="pizza" type="text" size="2" />
Drink <input name="drink" type="text" size="2"/>
现在我想传递第三个变量,它是URL中的食物+披萨+饮料的串联
我不想创建新的<input name="total" type="text" size="2"/>
这可能吗?
编辑:
我想在提交值之前这样做。
I will have a url like
http://www.abc.com/&food=tasty&pizza=cheeze&drink=pepsi
I want the url to be
http://www.abc.com/&food=tasty&pizza=cheeze&drink=pepsi&total=tastypizzacheezepepsi
答案 0 :(得分:4)
为什么不在服务器端执行此操作?
$allTogether = $_GET["food"] . $_GET["pizza"] . $_GET["drink"];
答案 1 :(得分:3)
一旦提交它只是连接(验证后)
$total = $_GET['food'] + $_GET['pizza'] + $_GET['drink'];
//assuming the _GETs were numbers, otherwise use `.` to concatenate
或者如果你不想这样做,你必须在客户端做一些JavaScript魔法(但这并不总是值得信赖)
答案 2 :(得分:2)
假设您不喜欢使用PHP进行连接的上述答案,您可以使用Javascript来执行此操作。
<script type="text/javascript">
function addTotal(food, pizza, drink) {
document.getElementById("total").value = food + drink + pizza;
}
</script>
<form method="get" name="fname" action="" onSubmit="addTotal(document.fname[0].value,document.fname[1].value,document.fname[2].value)" >
Food <input name="food" type="text" size="1" />
Pizza <input name="pizza" type="text" size="2" />
Drink <input name="drink" type="text" size="2"/>
<input type="hidden" name="total" id="total" value="" />
</form>
在您的PHP文件中,您现在应该
$_GET['food'];
$_GET['pizza'];
$_GET['drink'];
$_GET['total'];
答案 3 :(得分:1)
这应该可以解决问题
$sep = ""; //if you want a space in between each just change this to a space.
$concat = implode($sep, array($_GET['food'], $_GET['pizza'], $_GET['drink']));