【问题标题】:How to remove a url paramaters via get without lost the values send PHP, javascript?如何通过 get 删除 url 参数而不会丢失发送 PHP、javascript 的值?
【发布时间】:2014-04-12 16:40:02
【问题描述】:

我有以下模板,它呈现一个链接列表,每个链接都有一个代码,名称类似于a <a name="codigo" class="integrantes" href="#000356">Name of someone<a>

<div class="panel-group" id="accordion-integrantes">
<div class="panel panel-default">
  <div class="panel-heading">
        <h4 class="panel-title">
          <a data-toggle="collapse" data-parent="#accordion" href="#integrantes>">
            <?php echo $this->titulo; ?>
          </a>
        </h4>
  </div>

  <div id="integrantes" class="panel-collapse collapse in">
      <div class="panel-body">  
        <div class="table-responsive" >
          <table class="table table-hover" id="table-integrantes">
            <?php foreach($this->integrantes as $key => $value ): ?>
            <tr>
              <td>  <a  name="codigo" class="integrantes" code="<?php echo $key; ?> "> <?php echo $value ?> </a></td>  
            </tr>
            <?php endforeach; ?>
          </table>
        </div>
      </div>
  </div>
</div>
</div>

我想通过 url 发送代码,所以我在 javascript 上使用以下函数

$(function(){
 $('.integrantes').bind( 'click',function(){
    var code = $(this).attr( 'code');
    window.location.href = "CVLACController.php?code=" + code; 
 });
});

当我按下链接时,你会发送一个代码,我会得到一个 url 喜欢http://testdomain.com/CVLACController.php?code=0000292915

很好,但是当我使用控制器生成视图并使用 collapse boostrap 时,它使用 id-of-div 展开或折叠 div,问题是它找到了 id-of-div 喜欢一个

http://tesdomain.com/CVLACController.php?code=0000292915#id-of-div

但这错了,我希望是这样的

http://testdomain.com/CVLACController.php#id-of-div

现在,我不知道如何在不丢失分派变量值的情况下删除 url 参数。应用手风琴助推器

在这种情况下如何通过帖子发送参数,正确的方式和工作正常collapse-bostrap

如何在不丢失变量值的情况下删除url的参数并在collapse-bostrap上正常工作?

【问题讨论】:

  • 应用bootstrap时,是否想让之前的代码工作?我的意思是,当您使用折叠引导程序时,单击元素时它会重定向到.....?code=xxxx,您还想要它吗?

标签: javascript php jquery post get


【解决方案1】:

您可以使用隐藏表单并发布您的code,它不会出现在网址中。这是一个例子;

<form id="send_code" action="CVLACController.php" type="POST">
    <input type="hidden" name="code" id="code" value=""/>
</form>

您可以将上述任何表单放在页面中的任何位置,以及您的 js 中;

$(function(){
 $('.integrantes').bind( 'click',function(){
    var code = $(this).attr( 'code');
    $("#code").val(code);
    $("#send_code").submit(); 
 });
});

通过这样做,您可以将代码值发布到CVLACController.php,而无需在 url 中添加任何参数。并且不要忘记在CVLACController.php 中获取code

$code = $_POST["code"];

【讨论】:

  • 它可以工作(部分),但是当我尝试做一些对象实例时不起作用,因为我得到一个错误,说我 尝试获取非对象的属性
  • 能否请您也说明一下您的问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 2021-06-27
相关资源
最近更新 更多