Javascript ZF 1.9从前端html重定向
我的front.html或.tpl页面中有以下内容:Javascript ZF 1.9从前端html重定向,javascript,php,redirect,zend-framework,Javascript,Php,Redirect,Zend Framework,我的front.html或.tpl页面中有以下内容: <select name="" id="selectBox" class="fancyDrop" onchange="showFunc()"> <option selected></option> <option value="20"><?php echo $this->translate('по 20');?></option> <o
<select name="" id="selectBox" class="fancyDrop" onchange="showFunc()">
<option selected></option>
<option value="20"><?php echo $this->translate('по 20');?></option>
<option value="50"><?php echo $this->translate('по 50');?></option>
<option value="100"><?php echo $this->translate('по 100');?></option>
<option value="<?php echo $this->totalValue;?>"><?php echo $this->translate('Text');?></option>
</select>
..........................................................................
<script type="text/javascript">
function showFunc() {
var selectBox = document.getElementById("selectBox");
var selectedValue = selectBox.options[selectBox.selectedIndex].value;
window.location.href = "<?php echo $this->url(); ?>?perPage=" + selectedValue;
}
</script>
我想将showFunc()
更新为window.location.href=window.location.href+“?perPage=“+selectedValue代码>将请求转发给
当前页面,选择perPage作为选项。但是这种方法有一些问题
当用户再次从转发页面选择该选项时,将再次追加每页的。因此,必须首先删除perPage参数。
为此,您可以使用这些SO帖子中的任何方法
“这样用户就不会看到这个值。”=>据我所知,您不希望用户看到每个页面的值。然后可以将所选值存储在cookie中
从php中,您可以使用$\u COOKIE['perPage']
访问每页值。showFunc()将类似于
function showFunc() {
var selectBox = document.getElementById("selectBox");
var selectedValue = selectBox.options[selectBox.selectedIndex].value;
var d = new Date();
d.setTime(d.getTime() + (1*24*60*60*1000));
document.cookie = "perPage=" + selectedValue + "; " + "expires=" + d.toUTCString();;
window.location.href = window.location.href;
}
但是您将无法通过$this->\u getParam('perPage)
访问它。为此,您必须使用$\u COOKIE
我认为在函数showFunc()中,window.location.href=window.location.href+“?perPage=“+selectedValue代码>是否需要如果只使用js是的,您是对的,但生成的链接也是。我的目标是使用$this->\u getParam('perPage
)在控制器中实现和检索。我稍后会尝试,是否可以使用Zend\u Http\u Cookie?没有js代码?我的意思是使用和onChange触发php函数不是JavaScript函数你不能从onChange事件或任何其他js事件触发php函数。你能做的最好的事情就是在这些事件上调用ajax,这在这个场景中似乎是不必要的。你不想使用JS有什么原因吗?没有,当我再次选择value$\u COOKIE['perPage']
时,如果选中,它会变为20;如果选中,它会变为50;如果选中,它不会像你在第一点中提到的那样追加。根据第一点,应该是20501000…,如果我正确理解append的功能的话。