2011-04-25 55 views
1

這兩種情況會更好些。只要確保我正在使用最佳做法。有條件的HTML需求建議

<% if(isEdit){ %> 
<input type="text" id="tabtitle" name="title" value=<%=Content%>/> 
<%}else{%> 
<input type="text" id="title" name="title"/> 
<%}%> 

OR

$(document).ready(function() { 
<% if(isEdit){ %> 
    $("#title").val("<%=Content%>"); 
<%}%> 
}); 
+1

我本來已經標記了'java jsp javascript jquery'這個問題。 – 2011-04-25 14:43:03

+0

使用標籤編輯。 – 2011-04-25 14:47:33

+1

遠勝於*這些中的任何一個都是不涉及任何「scriptlet」的解決方案,而是使用JSTL/EL。 – Pointy 2011-04-25 14:59:36

回答

2

第二使用JavaScript/JQuery的修改的元素。由於添加客戶端代碼沒有優勢,我會採取第一種方法,只有服務器端。儘管沒有看到更大的圖景,但很難認可這種方法。

0

我更喜歡第一種方法,如JavaScript通常是由一些用戶出於安全原因禁止

+0

不擔心這實際上導致我有我的網站上的java腳本。我不能想到沒有JavaScript/jQuery的網站。 – 2011-04-25 14:55:02

+1

它不是黑色和白色。有一個unobstrusive Javascript的概念,確保如果您的瀏覽器不支持Javascript,它會回退到普通的舊html。這是網絡堆棧的美麗之一。 HTML,CSS和Javascript彼此分離,如果一個失敗了,剩下的就可以做到。所以,現在當你真的是使用Javascript的內容時,你根本沒有向沒有使用Javascript的用戶顯示任何信息。沒有優雅的退化。閱讀Gawker.com如何在幾個星期前使用相同策略搞亂他們的網站設計。只是我2美分。 – neebz 2011-04-25 15:14:06

1

我會用第一種方法去,因爲條件反正是有,而JavaScript不給添加任何東西功能。這只是一種強迫的做法。

此外,如果您使用服務器端,您的代碼將在瀏覽器訪問時正確無誤,並且javacsript函數將不會被調用。有時候,當你通過JavaScript更改dom時,會出現閃光燈或抹布......如果沒有它,你會更好。

0

我會和Pointy的建議一起使用,並在JSP中使用表達式語言(EL)。您可以放:

<input type="text" id="${titleid}" name="title" value="${Content}"/> 

將titleid屬性設置爲「title」或「tabtitle」,將Content設置爲「」或您的內容。我沒有測試過,但我相信這樣做會完成同樣的事情。