2010-05-13 29 views
0

我有以下的html代碼:HTML後的問題

<FORM name=frmmail> 
<input id="dochtmlContent" type="hidden" name="dochtmlContent" value="oldValue"/> 
<script>document.dochtmlContent="newValue"</script> 
</FORM> 
在javascript函數

,後來(這是UPN稱爲提交):

 alert(document.dochtmlContent); 
    document.frmmail.method = "post"; 
    document.frmmail.ENCTYPE = "application/x-www-form-urlencoded"; 
    document.frmmail.action = "/myServlet"; 
    document.frmmail.submit(); 

基本上,我宣佈一個隱伏變數,改變它的價值並提交它。 問題是,雖然我看到一個警告框顯示「newValue」,但當我提交它時,我的servlet接收到dochtmlContent參數的「oldValue」。

有人可以提出這裏錯了什麼。

回答

2

你的HTML改成這樣:

<script>document.getElementById("dochtmlContent").value = "newValue";</script> 

的原因是dochtmlContent作爲隱藏輸入不是document的屬性。這不是你想要訪問它的方式。相反,您正在文檔上創建該屬性,但該表單仍在發佈未修改的隱藏輸入。您需要使用getElementById(或其他選擇器,如果相關)選擇該元素。

0
document.getElementById('dochtmlContent').value="newValue" 

工作:)

+1

通常你會只需選擇給出的答案是正確的;沒有必要張貼另一個「答案」來證實它。 :) – macca1 2010-05-13 05:06:13

+0

在我看到您的答案之前,我已經發現了答案(在n試用版中),所以我認爲我會自己回答。在我提交我的報告後,我看到你回答。 雖然你的解釋很有幫助。非常感謝 – Amarsh 2010-05-13 05:13:21