【问题标题】:Pass select option values as url parameter to next page将选择选项值作为 url 参数传递到下一页
【发布时间】: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" 的表单有什么问题,它实现了相同的结果而没有任何并发​​症

标签: php jquery parameter-passing url-parameters


【解决方案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,没看到。祝你好运!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-14
  • 2021-08-17
  • 2015-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多