【问题标题】:Object Expected - IE7 and 8预期对象 - IE7 和 8
【发布时间】:2011-08-26 15:52:08
【问题描述】:

在 IE 中打开我们的客户端前端时,我收到错误“需要对象”,并且在调试时它指向以下内容。我已经用谷歌搜索了,但还没有什么直接的,至少不是具体的。

$(document).ready(function () {
    $("#login_form").bind("submit", function () {
        processLogin();
        return false;
    })

    if ('<?php echo $_GET['email ']?>' != '' && '<?php echo $_GET['password ']?>' != '') {
        $('#login_form').submit();
    }
});

我知道js里面有php,所以我试着放了一个

document.write(<?php echo $_GET['email']?>) 

代替刚才的php,使其与众不同。尽管如此,它会导致基于此的另一个错误:

$("#description").toggle();

这证明 IE 很痛苦。这适用于 Chrome、Safari 和 FF....

想法?

【问题讨论】:

  • 如果您查看页面源代码并粘贴 PHP 后的 Javascript,可能会有所帮助。此外,如果有人在密码中使用引号,您可能应该转义您的字符串:''
  • 能否贴出客户端生成的源码(即查看页面源码)?
  • 你不能用javascript写php
  • @Dagon,但你可以用 PHP 编写 javascript,这似乎是他正在做的事情。
  • @Stargazer712 - 可能不好。

标签: php javascript html internet-explorer


【解决方案1】:

这行可能是个问题(不知道是不是复制过去的问题...):

 if ('<?php echo $_GET['email ']?>' != '' && '<?php echo $_GET['password ']?>' != '')

应该是:

 if ('<?php echo $_GET['email']?>' != '' && '<?php echo $_GET['password']?>' != '')

emailpassword 之后的空格将生成一个警告(如果它们已打开),这将导致自动提交 php 警告作为值。

【讨论】:

  • 为了避免输入大量空格,可以在此处找到 post js 代码:dl.dropbox.com/u/25067517/post%20php.txt .. 从 Safari 5 和 @Jeroen 中提取,没有空格,粘贴问题。顺便说一句,我确实逃脱了“电子邮件”和“密码”。
【解决方案2】:

我使用这段代码在 IE 中调试 Javascript。如果网页抛出错误,请将此代码移到 HTML 中更靠前的位置。这将帮助您追踪导致问题的特定 Javascript 代码。

如果 IE 即使在抛出错误的情况下仍能正常工作,则此代码可用于防止人们看到错误,直到您有机会修复它。

<script type="text/javascript">
function noError(){return true;}
window.onerror = noError;
 </script>

【讨论】:

    【解决方案3】:

    检查您的报价。

    if ('<?php echo $_GET['email ']?>' != '' && '<?php echo $_GET['password ']?>' != '') {
    

    应该是:

    if ('<?php echo $_GET["email"]?>' != '' && '<?php echo $_GET["password"]?>' != '') {
    

    注意电子邮件周围的双引号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-22
      • 1970-01-01
      • 2023-03-03
      相关资源
      最近更新 更多