2010-07-20 58 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