2010-07-20 57 views
0

快速问题,我有一个简单的JavaScript问题,我不知道修复。使用编码HTML设置值Javascript

divNext = document.getElementById("submit_button"); 
if(document.getElementById("page").value == 4 ? divNext.value = 'Submit' : divNext.value = 'Next »'); 

现在的问题是,它应该后显示与两个下一页>>(至少,如果他们在那里编码),但它与实际内容有显示它们。我怎样才能让它显示html编码的字符?

+0

究竟是什么样的元素是“submit_button”,@Craig? – Pointy 2010-07-20 19:11:13

回答

3

这是因为您将HTML编码为字符而不是将其编码为Javascript字符串。

顺便说一下,您正在使用if?条件运算符不正确。

divNext = document.getElementById("submit_button"); 
divNext.value = document.getElementById("page").value == 4 ? 'Submit' : 'Next \xBB'; 

或者使用if

divNext = document.getElementById("submit_button"); 
if (document.getElementById("page").value == 4) { 
    divNext.value = 'Submit' 
} else { 
    divNext.value = 'Next \xBB'; 
} 
+0

@Pointy:或者'type =“button”'或'type =“submit”'input'元素更有可能。 – Guffa 2010-07-20 19:15:09

+0

对不起,对不起! – Pointy 2010-07-20 19:21:00

+0

所以,当在JavaScript中这样做时,我需要使用JavaScript“编码”字符。谢谢=)。如果把它从使用if语句转换为三元运算符时,意外忘记了将if语句取消了。 – Craig 2010-07-20 19:28:59

0

只要把它们

document.getElementById("page").value == 4 ? divNext.value = 'Submit' : divNext.value = 'Next >>'); 

或使用.innerHTML

document.getElementById("page").value == 4 ? divNext.innerHTML = 'Submit' : divNext.innerHTML = 'Next »»'); 

此外,如果您使用的是三元运算符为什么你有一个if

+0

好问题 - 这个说法搞砸了。 – Pointy 2010-07-20 19:12:53

+0

您正在使用条件(三元)运算符,如果它是一个语句,而不是一个运算符。 – Guffa 2010-07-20 21:09:58