Javascript 选择新值时重新加载页面
我在写一个脚本,我应该得到我的gmail地址文件夹 我在zend_框架上工作 我进入了:Javascript 选择新值时重新加载页面,javascript,php,jquery,zend-framework,Javascript,Php,Jquery,Zend Framework,我在写一个脚本,我应该得到我的gmail地址文件夹 我在zend_框架上工作 我进入了: <?php $mail = new Zend_Mail_Storage_Imap($setting); $folders = new RecursiveIteratorIterator($mail->getFolders(), RecursiveIteratorIterator::SELF_FIRST);
<?php
$mail = new Zend_Mail_Storage_Imap($setting);
$folders = new RecursiveIteratorIterator($mail->getFolders(), RecursiveIteratorIterator::SELF_FIRST);
echo '<select id="dir" class="form-control" name="folder">';
foreach ($folders as $localName => $folder) {
$localName = str_pad('', $folders->getDepth(), '-', STR_PAD_LEFT) .
$localName;
echo '<option';
if (!$folder->isSelectable()) {
echo ' disabled="disabled"';
}
echo ' value="' . htmlspecialchars($folder) . '" >'
. htmlspecialchars($localName) . '</option>';
}
echo '</select>';
//$mail->selectFolder("Inbox");
?>
当我更改邮件文件夹时,我尝试重新加载页面,例如从收件箱更改为垃圾邮件或草稿,我尝试使用一个小javascript函数重新加载页面,但在刷新收件箱页面后,我如何解决这个问题
thx您可以将选择框的值发布到页面,然后将该数据拉入php 因此,javascript应该是这样的,应该放在一个document ready语句中:
jQuery('#dir').change(function(){
var dirVal = jQuery(this).val();
$.post(window.location, {dir: 'dirVal'});
});
然后将您的PHP更改为类似以下内容:注意if语句根据JS中发布的'dir'值检查值:
$mail = new Zend_Mail_Storage_Imap($setting);
$folders = new RecursiveIteratorIterator($mail->getFolders(), RecursiveIteratorIterator::SELF_FIRST);
echo '<select id="dir" class="form-control" name="folder">';
foreach ($folders as $localName => $folder) {
$localName = str_pad('', $folders->getDepth(), '-', STR_PAD_LEFT) . $localName;
echo '<option';
if (!$folder->isSelectable()) {
echo ' disabled="disabled"';
}
if($_POST['dir'] == htmlspecialchars($folder)){
echo ' selected="selected"';
}
echo ' value="' . htmlspecialchars($folder) . '" >' . htmlspecialchars($localName) . '</option>';
}
echo '</select>';
这是未经测试的,可能需要一些修改,但这是基本概念。发布val,然后根据该Post val进行选择。thx用于重播,但我在/var/www/html/imap/application/views/scripts/main/index.phtml中得到了这个错误未定义的索引:dir,这里的确切含义是:if$\u Post['dir']==htmlspecialchars$文件夹{由于未发布dir变量,第一次加载时将出现未定义的索引错误。请尝试将if语句更改为:ifisset$\U POST['dir']&&$\U POST['dir']==htmlspecialchars$文件夹{echo'selected=selected';}嗨,米克尔,谢谢你的回答,但是在选择它之后仍然不能重定向到文件夹中。你建议这个问题的任何其他解决方案吗?嘿,Jeddey,我很乐意帮忙。你可以发布你的页面的功能JSB吗?这样我就可以修复一些代码了。JSBIN是免费使用的,也是一个很好的工具。同时,还需要更新完整的PHP。