“选择新值”上的“重新加载”页面

reload page on select new value

本文关键字:加载 页面 重新加载 选择 新值 选择新值 上的 新加载      更新时间:2023-09-26

>我正在编写一个脚本,我应该获取我的Gmail地址的文件夹我从事zend_framework我进入了:

<?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函数来重新加载页面,但仍然在刷新收件箱页面后,我该如何解决这个问题感谢

您可以将选择框的值发布到页面上,然后将该数据拉入 php 中。

所以,javascript将是这样的(这应该放在一个文档就绪语句中):

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,然后根据该发布 val 进行选择。