2012-12-21 67 views
1

我一直在研究这个问题一段时间,并且考虑到Google Chrome浏览器似乎对Javascript有很多问题,我一直无法找到任何人有这个相同的问题。Javascript功能无法在谷歌浏览器中执行任务

问题是这样的:当锚点调用一个替换div内容的新函数时,它在返回到div的默认内容之前显示合适的结果。

这里的脚本:

function prologueThree() { 
    document.getElementById('content').innerHTML = document.getElementById('prologue3').innerHTML; 
} 

function prologueFour() { 
    userName = document.getElementById('yourname').value; 
    if(userName.length === 0) { 
     alert("Erm... are you sure that\'s your name?"); 
     prologueThree(); 
    } else { 
     document.getElementById('content').innerHTML = '<center> \ 
<img src="http://pokemonroleplay.thedevhome.net/images/Gameboy/characters/red.png"><br> \ 
Right, so your name is ' + userName + '! \ 
<br><br> \ 
<a onclick="prologueFive()"><button>>>Continue>></button></a></center>'; 
    } 
} 

这仅仅是脚本的一个片段,但整个事情的作品罚款的Firefox和前三序幕功能,它在Chrome中工作正常。只有当它试图运行序言四时,它才会吓坏了,然后回去。我也尝试过Chrome开发者控制台,但它从未注册过错误。

非常感谢您的帮助。

+1

Chrome浏览器JavaScript问题?像什么?这一切都很模糊。尝试在jsfiddle.net上模拟您的问题并在此处发布链接。 – Aesthete

+1

你可以花费'怪胎'吗?记录错误?如果是这样,哪些错误?导致您的显示器流血?如果是这样,什么颜色? – Dancrumb

+0

由于该问题已从'stackoverflow.com'用户的'programmers.stackexchange.com',[这是礼物](http://jsfiddle.net/89f5J/)迁移出来。为你打造一个小提琴并且看起来很有效,现在正确地描述你的问题。谢谢! –

回答

0

我不知道是否还有其他问题,但>>Continue>>不完全符合标准的HTML,这可能会导致问题。您应该改用&gt;

2

我去你site ,我发现你是不会阻止执行,默认行为是一个表单提交其刷新页面的默认行为结合的onclick在表单中的一个submit按钮,从而使你失去了你放置并返回到开始处。使用一个普通的旧按钮或锚点标签,就像您为之前的序幕一样。如果您坚持使用提交出于任何原因,请阻止默认行为,如下所示:

function prologueFour(e) { 
    typeof e.preventDefault === 'function' 
     ? e.preventDefault() 
     : e.returnValue = false; 
    // now rest of code can continue without page refresh 
} 
+0

这很有帮助!但是,如果我只是使用一个按钮,因为它是所有相同的页面我假设Javascript会保留我打电话没有提交表单框的价值? – user75709

+0

是的,它会的。在评估表单框的内容后,可以使用document.getElementById('yourname')。value =“”,它将重置该字段。 – danronmoon

相关问题