0

我的 Web 应用程序有一个“小”大问题。首先,我必须承认,我的英语不太好:)。

我已经实现了非常简单的基于 ajax(由 jquery 提供支持)的 html+css-Tabs,并且每个 Tab 请求一个单独的 PHP 站点。每个站点都包括分钟。一种带有 php-values 和其他 jquery-effects/-plugins 的表单。

主要问题是每个选项卡中的表单视图。加载 ajax 的表单显示不完整,其他表单完全空白。我找到了问题并删除了其中一个字段集中的 PHP 代码,最后我显示了这个字段集,而表单的其余部分为空白。

如果我只使用基于 css 的选项卡而没有 ajax 功能,则表单会完全加载。

ajax有什么问题?我不明白:P

这是其中一种形式的一部分:

 <form action="#" method="post" name="form_project" class="form_project mainform">
    <input type="hidden" name="uid" value="<?= issetGlobals('uid') ?>" />
    <table border="0" id="tbl-projects" cellspacing="0" cellpadding="5">
        <tr>
            <td colspan="2"><input type="checkbox" name="cb_newProject" onclick="actFieldset('#fs-newProject')" /> <label for="cb_newProject">Projekt erstellen</label></td>
        </tr><tr>
            <td>

            <fieldset id="fs-newProject" disabled="disabled"><legend>Projektverzeichnis erstellen</legend>
                <table border="0">
                    <tr>
                        <td><label for="projectName">Projektname</label></td>
                        <td><input type="text" name="projectName" value="" /></td>
                    </tr><tr>
                        <td><label for="projectManager">Projektleiter</label></td>
                        <td><select size="1" name="projectManager" id="projectManager">
                        <?php
                            foreach($DBma->getEmployees() as $value) {
                                if($value['uid'] == issetGlobals('uid'))
                                    echo '<option value="'.$value["uid"].'" selected="selected">'. convertString($value["name"]) .'</option>';
                                else
                                    echo '<option value="'.$value["uid"].'">'. convertString($value["name"]) .'</option>';
                            }
                        ?>
                            </select>
                        </td>
                    </tr>

这里是“转换”的 JS 代码:

$('#tabs-nav li').each(function(i) {
    $(this).click(function(event){
        event.stopPropagation();
        Tab($(this).attr('id'));
    });
});

function Tab(key){
    $('#tabs-nav li').each(function() {
        $(this).removeClass('active');
    })
    $(key).addClass('active');

    $.ajax({
        url: 'tab-content.php?tab=' + key,
        type: 'get',
        beforeSend: function() {
            $(key + '-loading').html('<img src=\'images/ajax-loader.gif\' width=\'16\' height=\'16\' alt=\'Loading\' />');
        }
    }).done(function(responseText)  {
            $(key + '-loading').html("");
            $('#tabs-content').html(responseText);
        });
}
4

0 回答 0