我理解在页面之间传递变量的一般方法是使用表单,在表单中包含这些元素,如下所示,并将其作为$_GET['year']
和$_GET['dropdown']
<body>
<form method="get" action="index.php">
<select name="language">
<option value = "english">English</option>
<option value = "tagalog">Tagalog</option>
</select>
</br>
<select name="year">
<option value="2010">2010</option>
<option value="2011">2011</option>
</select>
<input type="submit" value="submit">
</form>
</body>
然而,除了传递这两个变量,即year
和dropdown
之外,我还想传递另一个变量,它不是表单的一部分。因此,虽然表单中只有两个元素,但我希望GET URL看起来如下
http://localhost:63342/ApplicationName/php/index.php?language=tagalog&year=2010&randomNumber=1932932
请注意网址末尾的 randomNumber = 1932932 。
我无法使用会话变量,因为在同一个浏览器和同一个用户中,我希望不同的标签对应不同的值。
答案 0 :(得分:2)
您可以在表单
中使用隐藏的输入<input type="hidden" value="something" name="name" />
答案 1 :(得分:2)
如果你不想使用像jQuery这样的东西(比原生JavaScript更容易),你可以为提交按钮创建一个简单的点击处理程序:
<body>
<form method="get" action="test.php">
<select name="language">
<option value = "english">English</option>
<option value = "tagalog">Tagalog</option>
</select>
<select name="year">
<option value="2010">2010</option>
<option value="2011">2011</option>
</select>
<input type="submit" value="submit" onclick="submitForm()">
</form>
</body>
<script>
function submitForm() {
var randomNumber = Math.floor((Math.random() * 10000) + 1);
var hiddenfield = document.createElement('input');
hiddenfield.setAttribute('type', 'hidden');
hiddenfield.name = 'randomnumber';
hiddenfield.value = randomNumber;
document.getElementsByTagName('form')[0].appendChild(hiddenfield);
}
</script>
这将在发布之前向表单添加一个隐藏字段,并将1到10000之间的随机数添加到隐藏字段。
答案 2 :(得分:0)
您可以选择的一个选项是在Ajax中构建get方法。在这里,您可以访问页面中的所有元素并将其传递到您的网址中。这样您就不会限制您的参数&#39;仅限表单中的元素。此处显示了一个示例http://www.w3schools.com/jquery/jquery_ajax_get_post.asp
答案 3 :(得分:0)
如果你仍然使用GET,你可以使用javascript根据输入创建一个URL,然后导航到它而不是提交表单。
main