将选择选项值作为 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 参数传递到下一页的主要内容,如果未能解决你的问题,请参考以下文章

如何将选定页面中的选定值传递到下一页?

表单传递选择到下一页

将 $_GET 变量传递到下一页

将数据从按钮传输到下一页的帖子表单。 Django的

Verilog里数组是怎么在例化中传递到下一模块的?

这个超链接放到哪里?才能把ID传到下一页?