php/jquery缓冲区是否已满?页面未完全加载

php/jquery缓冲区是否已满?页面未完全加载,php,javascript,jquery,html,Php,Javascript,Jquery,Html,我有一个网页,我目前写的是一个单板计算机托管。我正在编写的当前网页用于设置电路板的时区和当前时间设置。它具有jquery项、javascript函数、一个带有3个提交按钮的表单、php脚本和一些正在运行的linux命令行exec调用,以从命令行更改主板的时区。在确定默认下拉项选择应该是什么时,我还做了很多字符串比较 我遇到的问题很容易重复。如果我提交时区,然后更改时间,再次设置时区,再次更改时间,也许再重复一次,页面不会完全加载。查看源代码后,很明显整个页面没有完全加载。通常,它会在下拉选择创建

我有一个网页,我目前写的是一个单板计算机托管。我正在编写的当前网页用于设置电路板的时区和当前时间设置。它具有jquery项、javascript函数、一个带有3个提交按钮的表单、php脚本和一些正在运行的linux命令行exec调用,以从命令行更改主板的时区。在确定默认下拉项选择应该是什么时,我还做了很多字符串比较

我遇到的问题很容易重复。如果我提交时区,然后更改时间,再次设置时区,再次更改时间,也许再重复一次,页面不会完全加载。查看源代码后,很明显整个页面没有完全加载。通常,它会在下拉选择创建中的某个地方失败

例如,当加载的源代码文件失败时,它位于其最底部:

<input class="button" type="submit" name="getLocalTime" value="Copy Local Time"><br><br><br><table><tr><td colspan="2"><tr><td>

<select name="DropDownTimezone" id="DropDownTimezone">
<option  value="Etc/GMT+12">(GMT -12:00) Eniwetok, Kwajalein</option>
<option  value="Etc/GMT+11">(GMT -11:00) Midway Island, Samoa</option>
<option  value="Etc/GMT+10">(GMT -10:00) Hawaii</option>
<option  value="Etc/GMT+9">(GMT -9:00) Alaska</option>
<option  value="Etc/GMT+8">(GMT -8:00) Pacific Time (US &amp; Canada)</option>
<option  value="Etc/GMT+7">(GMT -7:00)



(格林尼治标准时间-12:00)埃尼韦托克,夸贾林 (格林尼治标准时间-11:00)萨摩亚中途岛 (格林尼治标准时间-10:00)夏威夷 (格林尼治标准时间-9:00)阿拉斯加 太平洋时间(美国和加拿大) (格林尼治标准时间-7:00)
该部分的编码如下:

<select name="DropDownTimezone" id="DropDownTimezone">
<option <?php if ($hwOffset == "-12") echo 'selected'; ?> value="Etc/GMT+12">(GMT -12:00) Eniwetok, Kwajalein</option>
<option <?php if ($hwOffset == "-11") echo 'selected'; ?> value="Etc/GMT+11">(GMT -11:00) Midway Island, Samoa</option>
<option <?php if ($hwOffset == "-10") echo 'selected'; ?> value="Etc/GMT+10">(GMT -10:00) Hawaii</option>
<option <?php if ($hwOffset == "-9") echo 'selected'; ?> value="Etc/GMT+9">(GMT -9:00) Alaska</option>
<option <?php if ($hwOffset == "-8") echo 'selected'; ?> value="Etc/GMT+8">(GMT -8:00) Pacific Time (US &amp; Canada)</option>
<option <?php if ($hwOffset == "-7") echo 'selected'; ?> value="Etc/GMT+7">(GMT -7:00) Mountain Time (US &amp; Canada)</option>
<option <?php if ($hwOffset == "-6") echo 'selected'; ?> value="Etc/GMT+6">(GMT -6:00) Central Time (US &amp; Canada), Mexico City</option>
<option <?php if ($hwOffset == "-5") echo 'selected'; ?> value="Etc/GMT+5">(GMT -5:00) Eastern Time (US &amp; Canada), Bogota, Lima</option>
<option <?php if ($hwOffset == "-4") echo 'selected'; ?> value="Etc/GMT+4">(GMT -4:00) Atlantic Time (Canada), Caracas, La Paz</option>
<option <?php if ($hwOffset == "-3") echo 'selected'; ?> value="Etc/GMT+3">(GMT -3:00) Brazil, Buenos Aires, Georgetown</option>
<option <?php if ($hwOffset == "-2") echo 'selected'; ?> value="Etc/GMT+2">(GMT -2:00) Mid-Atlantic</option>
<option <?php if ($hwOffset == "-1") echo 'selected'; ?> value="Etc/GMT+1">(GMT -1:00) Azores, Cape Verde Islands</option>
<option <?php if ($hwOffset == "+0") echo 'selected'; ?> value="Etc/GMT+0">(GMT) Western Europe Time, London, Lisbon, Casablanca</option>
<option <?php if ($hwOffset == "+1") echo 'selected'; ?> value="Etc/GMT-1">(GMT +1:00) Brussels, Copenhagen, Madrid, Paris</option>
<option <?php if ($hwOffset == "+2") echo 'selected'; ?> value="Etc/GMT-2">(GMT +2:00) Kaliningrad, South Africa</option>
<option <?php if ($hwOffset == "+3") echo 'selected'; ?> value="Etc/GMT-3">(GMT +3:00) Baghdad, Riyadh, Moscow, St Petersburg</option>
<option <?php if ($hwOffset == "+4") echo 'selected'; ?> value="Etc/GMT-4">(GMT +4:00) Abu Dhabi, Muscat, Baku, Tbilisi</option>
<option <?php if ($hwOffset == "+5") echo 'selected'; ?> value="Etc/GMT-5">(GMT +5:00) Ekaterinburg, Islamabad, Karachi, Tashkent</option>
<option <?php if ($hwOffset == "+6") echo 'selected'; ?> value="Etc/GMT-6">(GMT +6:00) Almaty, Dhaka, Colombo</option>
<option <?php if ($hwOffset == "+7") echo 'selected'; ?> value="Etc/GMT-7">(GMT +7:00) Bangkok, Hanoi, Jakarta</option>
<option <?php if ($hwOffset == "+8") echo 'selected'; ?> value="Etc/GMT-8">(GMT +8:00) Beijing, Perth, Singapore, Hong Kong</option>
<option <?php if ($hwOffset == "+9") echo 'selected'; ?> value="Etc/GMT-9">(GMT +9:00) Tokyo, Seoul, Osaka, Sapporo, Yakutsk</option>
<option <?php if ($hwOffset == "+10") echo 'selected'; ?> value="Etc/GMT-10">(GMT +10:00) Eastern Australia, Guam, Vladivostok</option>
<option <?php if ($hwOffset == "+11") echo 'selected'; ?> value="Etc/GMT-11">(GMT +11:00) Magadan, Solomon Islands, New Caledonia</option>
<option <?php if ($hwOffset == "+12") echo 'selected'; ?> value="Etc/GMT-12">(GMT +12:00) Auckland, Wellington, Fiji, Kamchatka</option>
</select>

value=“Etc/GMT+11”>(GMT-11:00)萨摩亚中途岛
value=“Etc/GMT+9”>(格林尼治时间-9:00)阿拉斯加
value=“Etc/GMT+7”>(GMT-7:00)山区时间(美国和加拿大)
value=“Etc/GMT+5”>(GMT-5:00)东部时间(美国和加拿大),波哥大,利马
value=“Etc/GMT+3”>(GMT-3:00)巴西、布宜诺斯艾利斯、乔治敦
value=“Etc/GMT+1”>(GMT-1:00)亚速尔群岛,佛得角群岛
value=“Etc/GMT-1”>(GMT+1:00)布鲁塞尔、哥本哈根、马德里、巴黎
value=“Etc/GMT-3”>(GMT+3:00)巴格达、利雅得、莫斯科、圣彼得堡
value=“Etc/GMT-5”>(GMT+5:00)叶卡捷琳堡、伊斯兰堡、卡拉奇、塔什干
value=“Etc/GMT-7”>(GMT+7:00)雅加达河内曼谷
value=“Etc/GMT-9”>(GMT+9:00)东京、首尔、大阪、札幌、雅库茨克
value=“Etc/GMT-11”>(GMT+11:00)马加丹,所罗门群岛,新喀里多尼亚

这并不是为什么会发生这种情况的答案(因为您的代码看起来不错,虽然很难看,而且正如其他人提到的,请尝试使用
错误报告(E\u ALL)
)。这是jQuery收到的结果,还是加载站点时的HTML输出

作为一个附加组件,这里有一个数组版本的代码,您应该能够轻松地合并您的翻译

<?php
    $timezones = array(
        'Eniwetok, Kwajalein',
        'Midway Island, Samoa',
        'Hawaii',
        'Alaska',
        'Pacific Time (US &amp; Canada)',
        'Mountain Time (US &amp; Canada)',
        'Central Time (US &amp; Canada), Mexico City',
        'Eastern Time (US &amp; Canada), Bogota, Lima',
        'Atlantic Time (Canada), Caracas, La Paz',
        'Brazil, Buenos Aires, Georgetown',
        'Mid-Atlantic',
        'Azores, Cape Verde Islands',
        'Western Europe Time, London, Lisbon, Casablanca',
        'Brussels, Copenhagen, Madrid, Paris',
        'Kaliningrad, South Africa',
        'Baghdad, Riyadh, Moscow, St Petersburg',
        'Abu Dhabi, Muscat, Baku, Tbilisi',
        'Ekaterinburg, Islamabad, Karachi, Tashkent',
        'Almaty, Dhaka, Colombo',
        'Bangkok, HanoiBeijing, Perth, Singapore, Hong Kong, Jakarta',
        'Beijing, Perth, Singapore, Hong Kong',
        'Tokyo, Seoul, Osaka, Sapporo, Yakutsk',
        'Eastern Australia, Guam, Vladivostok',
        'Magadan, Solomon Islands, New Caledonia',
        'Auckland, Wellington, Fiji, Kamchatka'
    );
    echo '<select name="DropDownTimezone" id="DropDownTimezone">';
    for ($i = 0; $i < sizeof($timezones); $i++) {
        $timezone = ($i - 12);
        $timezoneReverse = ($timezone * -1);
        $timezoneValue = ($timezone >= 0 ? '+' . $timezone : $timezone);
        $timezoneReverseValue = ($timezoneReverse >= 0 ? '+' . $timezoneReverse : $timezoneReverse);
        echo '<option' . ($hwOffset == $timezoneValue ? ' selected' : '') . ' value="Etc/GMT' . $timezoneReverseValue . '">(GMT' . ($timezone != 0 ? ' ' . $timezoneValue . ':00' : '') . ') ' . $timezones[$i] . '</option>';
    }
    echo '</select>';
?>

不幸的是,令人尴尬的是,这个问题与我的表单代码有关,与时区下拉列表几乎没有关系,只是每次都碰巧失败了。谢谢大家在这个问题上的意见,因为它确实为我指明了正确的方向(让我觉得自己很愚蠢哈哈)。一旦我开始跟踪可能被破坏的变量,我注意到我的表单action=item指向一个变量来获取文件名。在监控了一段时间错误日志后,我很快意识到文件名没有被设置。一旦我清理了那条线,它似乎很奇怪地解决了我的其他问题

之前:
echo”“

之后:
echo”“


这似乎已经解决了这个问题。我有点困惑,为什么它仍然在提交,为什么它以这样的方式失败,但这一行似乎已经修复了正在发生的任何部分加载的页面。

@minitech:发生这种情况时,似乎没有记录错误。顺便说一句,我不是故意粗鲁,但编码很糟糕,为什么不使用循环和数组来清理一下呢?是的,现在非常糟糕。我计划在合并翻译并使其正常运行后,将其放入数组循环中。丑陋的内联php也试图修复我的问题,而不是使用strcmp函数调用。您是否尝试使用
error\u reporting(E\u ALL)
启用错误报告?另外,请检查
php.ini
中是否启用了错误报告。虽然您的代码可以被清理,但您提供的代码片段不会导致任何内存问题。感谢您花时间编写本文,它将非常有用。至于输出,这就像我加载网页本身,然后单击页面上的“查看源代码”。这是不完整的。您提到了一些偏移错误-这些行上的行是什么样子的?(其实这并不重要,因为它们是PHP通知,不应该使页面停止呈现)。尝试在PHP日志上使用
tail-f
命令,可能带有
tail-f PHPLOGPATH|grep警告
$splitLink=preg_split(“/([0-9]{2}:[0-9]{2}[].->”、$commandline[$i]);
$appName=$splitLink[1];
是处理该错误代码的行。该行使用ls-l调用检查系统中是否存在符号链接。这个偏移量问题可能是由于我的编码不好造成的,我现在正在调试它。如果你知道这是否是问题所在,记得现在告诉我们。:)解决了我的问题,并发布了一个关于它的答案。非常感谢您在这方面的帮助,也感谢您为我编写了这个下拉列表,我一定会将它纳入其中。