2009-02-26 16 views
0

Ne bir köprüdür Tıklandığında daha fazla çalıştığında bazı javascript işlevi ve aynı zamanda bir köprüye değiştirir Daha az. Benim ne işe yaramazsa, o ajaxpage işlevi iyi çalışır ama daha fazla değil. javascript’te "ve" yi kullanıyorum.AJAX innerHTML. Bağlantıları değiştir. Muhtemelen bir "ya da" sorun

<script type="text/javascript"> 
function moreToLess(){ 
document.getElementById('tagLinks').innerHTML = '<a href=# OnClick="ajaxpage('/TagCloud?id=EDI_0009&count=20', 'tagcloud');lessToMore()" >Less</a>'; 
} 
function lessToMore(){ 
document.getElementById('tagLinks').innerHTML = '<a href=# OnClick="ajaxpage('/TagCloud?id=EDI_0009&count=50', 'tagcloud');moreToLess()" >More</a>'; 
} 
</script> 
<span id=tagLinks ><a href=# OnClick="ajaxpage('/TagCloud?id=EDI_0009&count=50', 'tagcloud');moreToLess()" >More</a></span> 

cevap

3

Evet, sadece .. Eğer javascript sahip çift tırnak içinde senin tek tırnak kurtulmak, ala \'

<script type="text/javascript"> 
    function moreToLess(){ 
     document.getElementById('tagLinks').innerHTML = '<a href=# OnClick="ajaxpage(\'/TagCloud?id=EDI_0009&count=20\', \'tagcloud\');lessToMore()" >Less</a>'; 
    } 
    function lessToMore(){ 
     document.getElementById('tagLinks').innerHTML = '<a href=# OnClick="ajaxpage(\'/TagCloud?id=EDI_0009&count=50\', \'tagcloud\');moreToLess()" >More</a>'; 
    } 
</script> 
<span id=tagLinks ><a href=# OnClick="ajaxpage('/TagCloud?id=EDI_0009&count=50', 'tagcloud');moreToLess()" >More</a></span> 
+0

Hızlı yanıt için hepinizi düşünün. başarı! – Duncan

+0

Sorun değil, işe yaradı! –

3

Sen tırnak içinde ' karakterlerden kurtulmak zorunda:

'<a href=# OnClick="ajaxpage(\'/TagCloud?id=EDI_0009&count=20\', \'tagcloud\');lessToMore()" >Less</a>' 
3

ben başka bir şey yanlış varsa emin değilim, ama diğer tek tırnak içindedir senin tek tırnak kaçmayı gerek:

document.getElementById('tagLinks').innerHTML = '<a href=# OnClick="ajaxpage(\'/TagCloud?id=EDI_0009&count=20\', \'tagcloud\');lessToMore()" >Less</a>\'; 
3

Bir alıntı mesele gerçekten de, bir \ karakteri

<script type="text/javascript"> 
function moreToLess(){ 
document.getElementById('tagLinks').innerHTML = '<a href=# OnClick="ajaxpage(\'/TagCloud?id=EDI_0009&count=20\', \'tagcloud\');lessToMore()" >Less</a>'; 
} 
function lessToMore(){ 
document.getElementById('tagLinks').innerHTML = '<a href=# OnClick="ajaxpage(\'/TagCloud?id=EDI_0009&count=50\', \'tagcloud\');moreToLess()" >More</a>'; 
} 
</script> 
<span id=tagLinks ><a href=# OnClick="ajaxpage('/TagCloud?id=EDI_0009&count=50', 'tagcloud');moreToLess() 
0

karışıklık Bu tür ile 'karakterini innerHTML hep bir kazan değil neden olduğunu kaçabilir. Daha fazla HTML'ye gömülü bir JavaScript dizesi literaline gömülü HTML'ye gömülü JavaScript'iniz var, şaşkınlık duymak hiç de şaşırtıcı değil.

Bağlantı DOM yöntemleriyle değiştirmeye dayalı daha basit bir sürüm.

<a id="tagLinks" href="/TagCloud?id=EDI_0009&amp;count=50">more...</a> 

<script type="text/javascript"> 
    var ismore= false; 
    document.getElementById('tagLinks').onclick= function() { 
     ajaxpage(this.href); 
     ismore= !ismore; 
     this.href= '/TagCloud?id=EDI_0009&count='+(ismore? 20 : 50); 
     this.firstChild.data= ismore? 'less...' : 'more...'; 
     return false; 
    }; 
</script> 
İlgili konular