2011-12-14 14 views
0

我的网站有问题。我正尝试用不同的电话号码替换所有的电话号码。使用替换时,转子停止工作

如果你去www.paintballgames.co.uk你会看到正常的网页

如果你去www.paintballgames.co.uk/?test=phtest你会看到一个与改变的数

但是转子没有在第二种情况下工作。

我试图比较源代码,唯一的区别是,在第二种情况下,我有一些代码正在改变显示的代码。

我使用的代码是:

<script type="text/javascript"> 
    var str = document.getElementById('forChange').innerHTML; 
    str = str.replace("844 477 5050", "844 477 5178"); 
    document.getElementById('forChange').innerHTML = str; 
</script> 

任何人都可以分享任何轻?

回答

2

我所看到的,即使在正规的网站使用javascript异常首先:

$("#container-inline").html("<input type="image" name="op" value="GO" id="search-form-submit" class="form-image" />"); 

这是行不通的,因为你要么逃避报价或使用单引号:

$("#container-inline").html("<input type=\"image\" name=\"op\" value=\"GO\" id=\"search-form-submit\" class=\"form-image\" />"); 

$("#container-inline").html("<input type='image' name='op' value='GO' id='search-form-submit' class='form-image' />"); 

UPDATE:
还有一例外,在“click_heatmap.js”:

Drupal.behaviors.click_heatmap = function()) { 
// the "function()) {" is invalid. It should be "function() {" 
click_heatmap.js:6 Uncaught SyntaxError: Unexpected token) 
    if (window.location.href != parent.location.href) { 
    $('#admin-menu').remove(); 
    } 
} 

更新2: 这是可能的,即固定错误后,你会看到问题的根源。

更新3: 为什么你要更改Javascript中的电话号码而不是服务器端?

UPDATE 4:
现在我已经有了更有趣的事情! 'forChange'元素几乎是整个网站的包装!你不应该写这样的代码! 相反的,你应该这样做:

$(document).ready(function() { 
    $("SPAN.phone-now").text("your text"); 
}); 

更新5:
现在我可以解释,为什么要使用JavaScript停止工作。当你编写类似body.innerHtml = body.innerHtml.replace(...)的东西时,所有的Javascript都会丢失,而新的不会执行。所以,没有任何工作!所有引用,都保存在Javascript中,它们指向不可见的“旧”元素。

+0

现在我可以解释为什么Javascript停止工作。当你写一些像`body.innerHtml = body.innerHtml.replace(...)`的东西时,所有的Javascript都会丢失,新的不会执行。所以,没有任何工作!所有引用,都保存在Javascript中,它们指向不可见的“旧”元素。 – 2011-12-14 18:43:30