【问题标题】:How to remember url?如何记住网址?
【发布时间】:2016-05-03 12:38:12
【问题描述】:

所以我像这样在 url 中传递变量:

首先选择菜单

<select  name="car_id" onchange="location='newcar/'+this.value" >
        <option>-</option>
        <?php foreach ($cars as $car) {             
                if (isset($car->id)) {
                    echo "<option value=\"" . $car->id  .  "\">";
                    echo $car->car . "</option>\n";
                }
        } ?>
        </select> 

因此,如果我按下其中一个选项,它会将其值存储在 url 上。但后来我有另一个显示模型的选择菜单,问题是 url 显示不正确。 我不知道我应该在第一个选择菜单的变量所在的 onchange 上写什么。

我希望我的网址显示www.example.com/newcar/2/3,但到目前为止我能得到的是www.example.com/newcar/2,然后数字 3 替换了数字 2。

【问题讨论】:

  • 显示两个选择(以及它们的 JS)的代码,仅其中一个并不能为我们提供全貌。 URL 应该是/newcar/{firstSelectValue}/{secondSelectValue}
  • 另外,不要显示不相关的 PHP 代码。始终尝试将您的问题减少到可管理的部分。通常,除非您的问题是关于 PHP 的,否则您应该显示生成的(缩写的)HTML。

标签: php html variables url


【解决方案1】:

我将使用一个函数来响应对 select 的更改

(window.onSelectChange = function() {
    var val1 = document.getElementById('sel1').value;
    var val2 = document.getElementById('sel2').value;
    document.getElementById('url').value = 'http://example.com/something/' + val1 + '/' + val2;
})()
input {width: 100%}
<select id="sel1" onchange="onSelectChange()">
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
</select>

<select id="sel2" onchange="onSelectChange()">
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
</select>

<hr />
URL: <input id='url' />

请注意,以上内容并未显示“最佳实践”,我试图使其尽可能接近您的代码。

【讨论】:

    猜你喜欢
    • 2015-07-26
    • 1970-01-01
    • 2021-09-07
    • 2013-08-07
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多