将选择选项值作为 url 参数传递到下一页
Posted
技术标签:
【中文标题】将选择选项值作为 url 参数传递到下一页【英文标题】:Pass select option values as url parameter to next page 【发布时间】:2016-02-12 09:18:13 【问题描述】:我有基于 url 参数的自定义注册系统。
第 1 步:我有一些按钮,当您单击其中一个按钮时,它会将值传递到下一页,在那里我可以使用 <?php echo $_GET['step1'];?>
获取值(这很好用)
第 2 步:我只想使用两个选择框(此处不想使用表单)并在 <a>
上单击我想将该选择传递给 url。
这是我的代码:
<select name="gender">
<option value="male">Male</option>
<option value="female">Female</option>
</select>
<select name="color">
<option value="red">Red</option>
<option value="blue">Blue</option>
</select>
<a href="http://domain/step1/step2?step1=<?php echo $_GET['step1'];?&SELECTboxVALUES>">Next</a>
所以这是我想要传递到下一页的内容:
http://domain/step1/step2/step3?parameterfromstep1=something&gender=male&color=red
我该怎么做?我应该在按钮单击或 jquery 上使用 php 吗?
谢谢
【问题讨论】:
使用 get 和 Ajax 提交表单 正如我在问题中所说的 - 我不想在这里使用表单:) 我建议您使用表单,并使用 Jquery 构建 url 和重定向。如果不提交表单,您将无法使用 PHP 获取选择框值 我正在研究解决方案,我会及时通知您。 使用method="GET"
的表单有什么问题,它实现了相同的结果而没有任何并发症
【参考方案1】:
<a id="next" href="http://domain/step1/step2?step1=<?php echo $_GET['step1'];?&SELECTboxVALUES>">Next</a>
使用下面的代码
$('#next').on('click', function(e)
e.preventDefault();
var url = $(this).attr('href');
var gender = $('[name="gender"]').val();
var color = $('[name="color"]').val();
if( gender && color )
window.location.href = url+'?&'+gender+color;
);
【讨论】:
谢谢,这正是我想要的:)【参考方案2】:嗯,这可能不是最好或最漂亮的方法,但我认为下面的代码对你有用:
<select name="gender">
<option value="male">Male</option>
<option value="female">Female</option>
</select>
<select name="color">
<option value="red">Red</option>
<option value="blue">Blue</option>
</select>
<a href="http://domain/step1/step2/step3?step1=<?=$_GET['step1'];?>" id="nextButton">Next</a>
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
$(document).on('click', '#nextButton',function( event )
// Stop default action
event.preventDefault();
window.location.href = $(this).attr('href') + '&gender='+$('select[name="gender"] option:selected').text()
+ '&color='+$('select[name="color"] option:selected').text();
);
</script>
【讨论】:
谢谢,这也有效 :) 但@Yash 较早发布了解决方案并且有效。 Np,没看到。祝你好运!以上是关于将选择选项值作为 url 参数传递到下一页的主要内容,如果未能解决你的问题,请参考以下文章